我已经使用以下方法克隆和构建了waf脚本:
./waf-light configure然后,要构建我的项目(由Gomspace提供),我需要将waf和eclipse.py添加到我的路径中。到目前为止,我还没有发现比这个setenv脚本更好的地方:
WAFROOT=~/git/waf/
export PYTHONPATH=$WAFROOT/waflib/extras/:$PYTHONPATH
export PATH=~/git/waf/:$PATH呼叫:
source setenv不知何故,这是一个相当丑陋的解决办法。有更优雅的方法来安装waf吗?
发布于 2019-11-28 01:42:22
Fedora (至少Fedora 22)有一个用于waf的yum包,所以您可以看到可以安装waf的系统,尽管有黑客攻击。
在运行类似于python3 ./waf-light configure build的内容之后,您将得到一个名为waf的文件,它实际上是一个带有一些二进制数据的Python。如果将其放入/usr/bin并以非根用户的身份运行,您将得到一个错误,因为它无法在/usr/bin中创建一个目录。如果您以root用户的身份运行它,您将得到新的目录,/usr/bin/waf将正常运行。
下面是我在研究waf脚本中的find_lib()函数时学到的技巧。
waf复制到/usr/bin/waf/usr/bin/waf。注意,它创建了一个目录。你会看到像/usr/bin/.waf-2.0.19-b2f63c807a4215294bf6005410c74c18这样的东西.,例如mv /usr/bin/.waf-2.0.19-b2f63c807a4215294bf6005410c74c18 /usr/lib/waf-2.0.19-b2f63c807a4215294bf6005410c74c18/usr/bin/waf。在Python3下,目录名将以.waf3-/waf3-开始,而不是.waf-/waf-。/usr/bin/waf末尾的二进制数据。/usr/bin/waf。尽管如此,这里有一些需要考虑的问题,就像另一个答案说的那样:我相信waf的作者打算将waf嵌入到项目中,这样每个项目就可以使用自己的waf版本,而不必担心当waf的新版本出现时,一个项目将无法构建。因此,一个全局版本的用例似乎没有得到官方的支持。
发布于 2018-01-19 16:14:32
你不安装waf。您找到的命令正确地构建了waf:/waf-light configure build,然后对于您创建的每个项目,将构建的waf脚本放入该项目根目录中。我找不到引用,但这是waf:的主要作者Thomas希望使用该工具的方式。重新打包waf使工具可安装的项目不是“官方批准的”。
非安装有其优点和缺点:
缺点:
waf文件添加到存储库中。优势:
https://stackoverflow.com/questions/45812912
复制相似问题