1

我正在尝试使用 -include 预处理器选项。GCC 预处理器选项 我未能在我的配置方法中作为常规 CXXFLAGS 选项执行此操作

def configure(conf):
    conf.load('compiler_cxx')
    conf.env.append_value('CXXFLAGS', ['-g', '-include global.h'])

由于它在-I选项之前添加它。而且 gcc 找不到我的标题。我如何添加-include global.h所有-I选项?

4

2 回答 2

0

好吧,我认为您可以查看 waf book § 10.3.2。您可以将特定方法附加到 cxx 功能,以便在包含路径之后添加“-include”选项。

另一种方法是对 cxx 类进行猴子补丁并修改管理编译的 run_str 字符串。

第三个选项:在 waf mailing list 上提问,你通常很快就会得到答复^^

于 2013-04-10T18:36:14.837 回答
0

解决方案是:

def build(bld):
    bld.env.MYFLAGS = ['-include', 'global.h']
    from waflib import Task
    class cxx(Task.classes['cxx']):
        run_str = '${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS}${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK}${CPPPATH_ST:INCPATHS} ${MYFLAGS} ${DEFINES_ST:DEFINES}${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}' 
于 2013-05-20T15:27:18.750 回答