在Sconstruct中,如何为D编程语言指定包含路径

时间:2012-05-03 09:31:54

标签: d scons

似乎CPPPATH不起作用

env = Environment()
target = 'app'
sources = ['app.d']
libs = ['phobos2', 'pthread', 'm', 'rt']
includes = ['/home/supertool/devel/d/vibe.d/source/vibe']

env.Program(target = target,
        source = sources,
        LIBS = libs,
        CPPPATH = includes);

当我运行scons时,它会生成编译命令:

dmd -I. -c -ofapp.o app.d

includes未添加到-I部分

那么如何配置呢?有INCLUDEPATH吗?

1 个答案:

答案 0 :(得分:4)

您可以尝试手动构建路径,而不是使用CPPPATH构造变量(SC {在-I之前),如下所示:

includePaths = ['-Ipath1', '-Ipath2']
....
env.Program(target = target,
            source = sources,
            LIBS = libs,
            CCFLAGS = includePaths);

但这可能导致同样的问题,CCFLAGS不会用于D编译。除了DSUFFIXES

之外,我还没有看到任何特定于D的构造变量

编辑:似乎未记录DFLAGSDPATH

我在我的计算机上玩这个,看到CCFLAGS不适用于D,但是DFLAGSDPATH这样做了,他们不是记录:( DPATH将在编译时加上"I",因此它类似于CPPPATH

SCons用户邮件列表中有关于加强SCons D支持的讨论。