将 nasm 与 waf 一起使用,包含路径



>nasm 在 Windows(至少,可能是其他平台)上有一个错误,它要求包含路径具有尾随斜杠。 WAF 通过设计在路径上去除尾随斜杠。错误报告。

显然,这会导致问题;asm 文件无法源包含文件。优雅的解决方案是修复 nasm,但是,鉴于此错误存在于 nasm 的公共发行版中并且该错误未分配,这对大多数人来说是站不住脚的。

另一种选择是使 waf 容忍此错误。

此技巧会在删除所有 asm 任务后,在包含路径列表中重新添加尾部斜杠。

只需将以下代码添加到顶级 wscript 中:

import os
from waflib import TaskGen
@TaskGen.feature("asm")
@TaskGen.after_method("apply_incpaths")
def add_includes_paths(self):
    self.env.INCPATHS = [os.path.join(x, "") for x in self.env.INCPATHS]

最新更新