0
nasm在Windows(至少可能是其他平台)上有一个错误,它要求包含路径具有尾部斜线。 waf通过设计去除路径上的尾部斜线。 Bug report。将nasm与waf一起使用,包含路径
显然这会导致问题; asm文件不能提供包含文件。优雅的解决方案是修复nasm,但是,由于nasm的公开发行版中存在此错误,并且该错误未指定,所以这对大多数人来说是站不住脚的。
另一种选择是让waf容忍这个bug。
nasm在Windows(至少可能是其他平台)上有一个错误,它要求包含路径具有尾部斜线。 waf通过设计去除路径上的尾部斜线。 Bug report。将nasm与waf一起使用,包含路径
显然这会导致问题; asm文件不能提供包含文件。优雅的解决方案是修复nasm,但是,由于nasm的公开发行版中存在此错误,并且该错误未指定,所以这对大多数人来说是站不住脚的。
另一种选择是让waf容忍这个bug。
这个hack在所有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]