问题标签 [waf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1336 浏览

build - 如何为自定义编译器编写 waf 文件?

我厌倦了在 make 中查找魔法符号并决定尝试waf

我正在尝试使用 calibre 制作电子书,我想创建一个 wscript,它接收一个文件,运行一个包含该文件的一些参数的程序,并产生一个输出。仅当输入文件比输出文件新时才应构建 Waf。

在make中,我会写一个像这样的makefile:

其中 % 是文件基本名称的魔术符号,$ 是输出文件名 (basename.epub) 的符号。

我可以打电话make soverflow.epub,它会在 soverflow.recipe 上运行 ebook-convert。如果 .recipe 自上次构建以来没有更改,则它不会做任何事情。

我怎样才能在 waf 中做类似的事情?

(为什么是 waf?因为它使用了一种我已经知道的真实语言。如果这在 scons 中真的很容易使用,那也是一个很好的答案。)

0 投票
0 回答
556 浏览

python - 在 Mac OS 10.7 上构建 pybindgen 时出现 waf 错误

我正在尝试在 Mac OS 10.7 上构建 Pybindgen。Lion Everything 在 Ubuntu 上运行良好,可以进行比较,但是......

在 OS X 上,waf 安装程序(Pybindgen 使用 waf 构建和安装)对此感到窒息:

=> 但我 100% 确定我的 Mac SDk 中至少有 Python.h ...我知道它在那里...我只是不知道如何确保 waf 找到它... waf 中有一个函数称为 check_python_headers 这似乎是问题所在。我怎样才能解决这个问题?

0 投票
2 回答
1270 浏览

python - 使用 WAF 构建 QT 项目

我正在尝试使用 waf 构建我的项目。该项目已正确编译,但存在一些链接错误。它无法链接到资源文件(.qrc 文件)

main.cpp.1.o:在函数main': /home/sobingt/project/masterdetail/build/../main.cpp:20: undefined reference toqInitResources_masterdetail()'

WAF 输出 --zones=deps

脚本文件

树状结构

我知道这一定是一个愚蠢的错误。请帮忙。链接到qtcentre 中发布的问题 我知道这一定是一个愚蠢的错误。请帮助。链接到在 qtcentre 中发布的问题

我现在正在尝试的解决方案:我在所有包含 Q_OBJECT 宏的头文件(或源文件)上运行 moc。

然后将 moc_something.cpp 添加到正在构建的源中。

我正在尝试资源编译器:

然后必须将 masterdetail.cpp 添加到正在构建的源中。

我认为以上是由 qmake 自动完成的。我正在手动编译它以尝试找到合适的解决方案

0 投票
2 回答
1805 浏览

installation - 如何使用 waf 递归安装目录

我目前使用以下 valadoc 构建任务为我的 vala 应用程序生成 api 文档:

此任务在输出目录中创建一个目录 html,其中包括几个带有 html 和图片文件的子目录。

我知道尝试做的是将这些文件安装到/usr/share/doc/projectname/html/。为此,我将以下内容添加到 wscript_build 文件中(按照我在这里找到的文档):

但是,这会导致错误“缺少节点签名”。有谁知道如何解决这个错误?还是有一种简单的方法可以使用 waf 递归安装目录?

您可以在此处找到完整的示例。

0 投票
1 回答
1506 浏览

c - waf - 构建工作,自定义构建目标失败

waf 命令使用以下 wscript 文件(或者 wscript 文件有一些我目前不知道的其他缺点waf build)显示编译器错误(如果有的话),waf debug无论waf release是否总是失败:

产生的错误waf debug

我查看了 waf 演示,阅读了第 6.2.2 节中的 wafbook,但这些并没有为我提供有价值的信息来解决这个问题。

出了什么问题,我该如何解决?

0 投票
2 回答
807 浏览

python - 如何告诉 Python waf 在哪里放置包?它可以与virtualenv一起使用吗?

我正在尝试在我选择的目录中安装现成的 waf 包(py2cairo)。理想情况下在我的 virtualenvsite-packages中。这应该很简单,但我似乎无法让 waf 去做。

我想改变/usr/local/lib/python2.6/site-packages/cairo/__init__.py我选择的东西。我找不到可以为我执行此操作的配置选项。

--prefix命令为字符串添加前缀,但不会更改它。--destdir似乎没有什么区别。

0 投票
3 回答
720 浏览

c++ - 从 Windows 中的 waf 构建 Qt 程序中删除控制台

我有这个使用waf构建的 Qt 程序。我正在 Windows 中对其进行测试,每次运行 exe 文件时,控制台都会打开。在 (Qt)pro 文件中(如果使用 qmake 构建),您只需要确保删除

但我不确定是什么链接器标志,我必须在我的 wscript(waf) 中添加才能实现这一点。我必须指定/SUBSYSTEM: WINDOWSmsvc 编译器将我的程序作为 Windows 程序

请帮忙。

我的 wscript.py

0 投票
1 回答
1140 浏览

qt - 从 Windows 切换到控制台时出现 LInker 错误

我正在将 Qt 用于 GUI 并在 waf 中构建我的项目。为了从控制台(默认)切换到 Windows 子系统,我必须通过我的 wscript(waf)将此参数传递给 VS 链接器

我在 waf 文件的构建部分中添加了这个,我收到了这个错误

我想将此程序作为 Windows 而不是作为控制台运行。如果我将其作为控制台运行,则代码有效

0 投票
1 回答
1184 浏览

ubuntu - 构建验证:在 pkg-config 搜索路径中找不到包 libval​​a-0.12

我正在尝试构建最新版本的valide (0.7.1)

我已经在我的机器(Ubuntu 10.0.4 LTS)上成功构建了 VALA(v 0.17.0)。当我跑

./waf configure在 valide src 目录中,我得到以下输出:

我在我的系统上检查了相关的 .pc 文件

然后我按如下方式导出了相关的 ENV VAR:

然后我运行./waf configure。令我沮丧的是,我得到了与之前发布的完全相同的输出。

在 Ubuntu 10.0.4 LTS 上构建验证需要解决什么问题?

0 投票
2 回答
1463 浏览

c++ - 使用 waf 构建系统将程序与 Boost.Asio 链接

我正在尝试在 Debian 挤压、python 2.6.6 上使用 waf 构建最简单的 Boost.Asio 教程示例“timer1”(它在 timer.cpp 中)。

root@ds:/var/timer# ls

timer.cpp 脚本

wscript 这里是 waf 的配置:

waf configure是成功的。

waf --verbose build以错误结束(我在下面插入<*>以标记一行)

似乎 waf 调用的 gcc 在链接期间没有找到 boost_system 库。

但是,如果我在没有 waf 的情况下通过 gcc 构建示例,一切正常。

如您所见,waf 使用的命令行(由 标记<*>)与由 标记的命令行相同<**>。但结果完全不同。为什么?我怎么能强迫 waf 建造那个东西?这里的解决方案对我也不起作用。也试过

但没有任何影响

还有一个问题。的输出gcc --verbose比 的输出广泛得多waf --verbose。在我看来,该verbose选项必须强制 waf 显示所有此类信息。为什么那不是真的?waf 选项 -vvv 也不显示此信息。