- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个项目从 autotools 转换为 waf,希望它也可以在 Windows 中轻松编译。
我正在使用一个带有两个子文件夹的 super 项目,它们是 2 个项目。
其中一个是库,另一个是程序,如下所示:
看来waf对子项目的支持很差。我在每个目录中都有一个 wscript。
我从 super 项目递归到其他 2 个项目,但是 _cache.py 文件为这两个项目共享。这具有以下副作用(问题):
在使用 boost 工具时,为了避免名称冲突,我不得不这样使用它:
# In library project
cfg.check_boost('boost_program_options', uselib_store='BOOST_LIBRARYPROJECT')
# In program project
cfg.check_boost('boost_program_options', uselib_store='BOOST_PROGRAMPROJECT')
boost-libs 和 boost-includes 命令行选项默认也会丢失,所以我必须手动设置它们,如下所示:
cfg.env.LIBPATH_BOOST_PROGRAMPROJECT = cfg.options.boost_libs
...
_cache.py 文件被 programproject/wscript 覆盖,丢失所有标志配置。
问题:
最佳答案
配置文件没有写两次。
我的错误是这样做:
cfg.env = ConfigSet()
我想要一个新的和干净的 ConfigSet
但是在两个项目中这样做使得第一组标志丢失。
由于环境似乎在所有项目配置之间共享,所以用自定义名称命名变量是一种很好的风格吗?例如,而不是使用:
cfg.check_boost('program_options')
我应该使用:
cfg.check_boost('program_options', uselib_store='BOOST_MYPROGRAMPROJECT')
ConfigSet
?关于c++ - waf:嵌套项目和 _cache.py:不支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20371693/
假设我在 /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 证书均已正确配置。但是,我在通
我是一名优秀的程序员,十分优秀!