问题标签 [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 回答
1948 浏览

python - 无法在 Mac OSX 上安装 py2cairo

我正在尝试使用 brew 在 python 2.7.3 的框架构建(Mac OSX Lion)上安装 py2cairo。到目前为止,我一直没有成功。

首先,我尝试了一个简单的

这似乎只适用于 python 的非框架构建。当我在我的框架上执行此操作时,一旦我导入带有不兼容二进制错误的 cairo,就会生成 python 错误。

其次,我尝试通过从 github 获取并发布:

这失败了:

我已经尝试了所有方法:How to install PyCairo 1.10 on Mac OSX with default python,但这些都没有帮助。

在我看来,这可能无法找到 python2.7 库和头文件,因为它是一个框架构建。那可能吗?我正在查看 brew 公式,似乎框架构建在构建时没有设置 --enable-share 。我不确定这在这里是否相关——但也许是一种可能性。

任何其他见解都会很棒。提前致谢。

更新:

我发现无法构建 py2cairo 与 gcc 使用“-march=native”标志有关。Mac OSX 上的 gcc (4.2.1) 有这个问题。然后我重新安装了 gcc 和 python。之后,当使用 waf 构建 py2cairo 时,它得到了“-march=core2”并且一切都构建了。

不幸的是,并非一切都很好。当我从 brew 版本(如上所述)获得的构建中导入 cairo 时,我得到了同样的错误。确切的错误信息是:

然后python退出。

现在看来,这个问题与 python 的框架构建有关。我在没有构建框架的情况下对其进行了测试,并且效果很好。

0 投票
1 回答
975 浏览

protocol-buffers - 将协议缓冲区集成到 WAF

我设法.proto像这样编译我的文件:

似乎工作得很好,当我对源文件进行更改时,它们会被重新编译等等。但结果将是调用的文件build/a.pb.ccbuild/b.pb.cc我需要将其包含到我的主程序源列表中。当然我知道如何从我的协议缓冲区文件名手动构造它们,但我不认为这是要走的路。谁能给我一个提示?

最好的问候,菲利普

更新

在 IRC 人员的耐心帮助下,我设法构建了一个工具,如下所示。

您还可以在 bugtracker 中找到它:

https://code.google.com/p/waf/issues/detail?id=1184

0 投票
1 回答
594 浏览

qt - waf : 将编译器标志传递给 qt 的 moc

我试图运行一个项目,使用waf它使用boostlibrary 。为了克服一个问题,我需要将-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED参数传递给MOC. 我尝试在wscriptas中这样做

但它失败了。如何将参数传递给MOCusing waf

0 投票
1 回答
421 浏览

c++ - c ++发现内存泄漏

我正在尝试使用 waf 运行 valgrind。命令是 ./waf --command-template="valgrind %s" --run 程序名。

我收到 valgrind 的内部错误。如果连 valgrind 都失败了,我还能尝试什么?

0 投票
1 回答
1055 浏览

c++ - 使qt忽略特定的头包含文件

我有一个用 qt 制作的正在运行的项目。出于构建目的,我正在使用 waf 构建工具。要从 waf 启动并运行相同的项目,我需要添加

在某些文件的末尾以避免未定义的引用。但是如果这些包含没有在 qt 中注释,我会得到找不到文件错误。你如何让 qt 忽略某些文件包含。我认为这样的事情应该可以解决问题

0 投票
1 回答
369 浏览

freebsd - waf 在 freeBSD 上失败 - 回溯(最近一次通话最后一次)

我正在尝试在 freeBSD 7.1 上运行 waf 但它失败了:-

第 148 行是:-

请帮忙

0 投票
1 回答
3820 浏览

c++ - gdb 找不到 clang++ 编译的源文件

使用 clang++ 编译我的项目时,源文件的路径显然不包含在目标代码中。这意味着 gdb 无法找到用于显示代码的源文件。对于特定情况,我可以使用 gdb 的directory命令来添加目录,但是我的项目有很多源目录,这很快就会变得很烦人。

当我将配置切换为使用 g++ 时,gdb 只会找到我所有的源文件。

此功能适用于 Snow Leopard 的 clang++ 2.9,但不适用于 Lion 的 clang++ 3.1。我有 XCode 4.3.2。

是否有强制在目标文件中使用完整路径的 clang 选项?我的配置可能有其他问题吗?

0 投票
1 回答
4611 浏览

c++ - 如何构建 NS-3 以使用 C++0x/C++11 库?

我需要在网络模拟器 NS-3 的代码中使用像 unordered_map 这样的数据结构。它使用 waf builder 来编译源代码。我很困惑,我应该在哪里添加 -std=c++0x 以添加到编译器标志?我尝试使用以下方法将其附加到主 wscript 文件中的 CXXFlags:

但我仍然收到此错误:

该文件需要对即将推出的 ISO C++ 标准 C++0x 的编译器和库支持。此支持目前是实验性的,必须使用 -std=c++0x 或 -std=gnu++0x 编译器选项启用。C/C++ 问题

我还应该向我的 waf 模块添加任何库吗?

PS:我的 GCC 版本是 4.4

更新:更新到 4.7 后出现此错误:

有没有办法告诉编译器使用 0x 而不是 11?

0 投票
2 回答
656 浏览

c - 如何防止 Waf 重命名目标文件?

我正在使用 Waf 构建一个 C 项目并gcov具有一些测试代码覆盖率。但是,Waf以从源文件gcc生成的方式调用,这在搜索生成的文件时会造成混淆:foo.c.1.ofoo.cgcov

幸运的是,gcov具有-o可以指定相应目标文件的选项。尽管如此,这并不方便,并且执行lcov仍然失败。因此,我的问题是:

  1. 为什么 Waf 重命名目标文件?
  2. 如何禁用此行为或...
  3. 如何gcov/如何lcov解决这个问题?
0 投票
0 回答
582 浏览

waf - 如何使用 Waf 创建新的编译器配置文件?

我在 Waf 构建系统的 API 文档中发现了这个非常有用的页面:

我的 wscript 看起来像这样:

我尝试创建文件mycc.py,将其放在 waflib/extras 中并重新编译 Waf。但是,当我尝试使用这个新配置文件配置我的项目时,我收到以下错误:

我还尝试在项目的根目录中创建 waflib/extras/mycc.py(Waf 所在的位置以及调用它的位置)。不好。

我该怎么做呢?