- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用waf构建系统构建C++代码时,是否可以选择特定的C++编译命令?
虽然可以运行“CXX=g++-4.9 waf configure”之类的东西,或者通过在 wscript 文件中设置 os.environ['CXX'] 来获得相同的效果,但是否有“正确”的方式做这个?
即在 Makefile 中设置 CXX 变量的 waf 是什么。
最佳答案
关于这个主题我发现的文档很少,这有点奇怪。正如您在问题中提到的,我通过在 configure
函数中设置环境变量来做到这一点。
这是一个好奇的小例子:
import os
def options(opt):
opt.load('wak.tools')
opt.load('compiler_cxx')
def configure(conf):
conf.load('wak.tools')
conf.env.CXX = "g++-4.9" # default compiler
if os.environ['CXX']: # Pull in the compiler
conf.env.CXX = os.environ['CXX'] # override default
# Additional setup of variables
conf.load('compiler_cxx') # Will use the compiler from the environment path
def build(bld):
bld.program(
target='test',
includes='include',
source='src/main.cpp')
关于c++ - 在waf中指定C++编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28620263/
假设我在 /mydir/a/b 中有 x.y 文件(在 Linux 上) 当我运行 waf 时,它没有找到该文件。 def configure(context): pass def build
我正在为我的项目使用 Waf 构建系统。我的项目中有一些依赖项,我并不总是希望对其进行链接和编译。我想知道是否有一种方法可以将额外的参数传递给 Waf 配置和 Waf 安装脚本,我可以在 wscrip
每当我调用“waf clean”时,waf 最终都会清理构建中的所有内容。我想有办法告诉 waf 只清理特定的目标。这样,每当我想再次运行所有单元测试时,我就不必重建所有内容。 例如, 如果我有以下文
我正在使用 Waf 构建一个项目。它有几个第三方依赖项,我想从我的主要 wscript 构建每个依赖项。我的项目是这样组织的: /boost/ /gtest/ /source/ /waf /wscri
我有一个添加了一些选项的 waf 脚本,因此我使用 waflib 中的 Options。 一个最小的工作示例是: from waflib import Context, Options from wa
我想将一个 waf 任务的 target 用作另一个 waf 任务中的 source,但这并没有按预期工作。 一个简单但完整的例子:我添加了两个任务( t_1 , t_2 )我想添加为功能并通过 be
我想使用 waf 触发生成文件来构建其他库。为此,我创建了以下任务: def build(bld): def run(self): bld_dir = self.generat
我想安装使用命令 bld.shlib(...) 构建的库进入 /lib ,其中 arch_suffix 可以是 64 或根据架构为空。 我怎样才能做到这一点? 如果不可能,那么我如何明确指定这个后缀?
我正在使用waf来构建C程序。我想在配置阶段检查是否存在特定的头文件。有没有办法做到这一点? 最佳答案 嗯,有点谷歌搜索找到了我的问题的答案:您可以在Configuration对象上使用check方法
在我的 wscript 中,我在 apply_link 方法之后运行了一些自定义任务(dummy),这工作正常。 在这个dummy任务完成后,我想收集我所有的输出文件(让它成为*.dll,*.exe、
我已经克隆并构建了 waf脚本使用: ./waf-light configure 然后构建我的项目(由 Gomspace 提供)我需要添加 waf和 eclipse.py到我的路径。到目前为止,我还没
我已经设置了带有 WAF 和一些 Web 应用程序的应用程序网关 V2。我还为 Web 应用程序设置了自定义域,并且网关的监听器正在重定向到属于网关正在监听的域的 Web 应用程序。 假设我想阻止外部
我有以下代码片段,用于将文件按原样复制到构建目录: for m in std_mibs: print("Copying", m) bld(name = 'cpstdmib'
class superfoo(Task.Task): def run(self): self.generator.bld.fatal("Oh noes!") 有没有办法退出
我在 Windows 中使用 waf,但我不知道如何使用 boost 工具。 我尝试了 waf update,但它显示以下内容: 无法在远程存储库中找到该工具“更新”成功完成(0.597 秒) 如何在
我在 waf 中有一个目标,它依赖于多个其他文件。有一个程序列出那些依赖项,我想使用它,并传递给 waf。即,如果我有一个目标 T,那么是一个列出T 的所有依赖项的程序。但我不清楚如何通过这个到 bl
在 Waf 中,我如何创建多个可以并行运行的自定义任务(使用 --jobs=JOBS)? Sources = ["C:\\src1.c", "C:\\Mod1\src2.c", ... 30pcs]
我有一个文件,我想在它通过 python 脚本推送后发送到构建目录。我将如何在 waf 中执行此操作? 例如,如果我有这样一个文件: VERSION=%%VERSION%% DATADIR=%%DAT
是否有更好/更短的方法来创建这两个可处理多个文件的任务?我更喜欢 new_task_generator 而不是神秘的类。 Files = ["src1.c", "src2.c"] for Fi
我正在尝试配置 Azure 应用程序网关 WAF,并将后端池设置为不同 Azure 租户中的虚拟机,使用端口 443 上的公共(public) IP 地址。所有 SSL 证书均已正确配置。但是,我在通
我是一名优秀的程序员,十分优秀!