5

有人可以提供一个允许以下结构的 scons 配置文件吗

toplevel/
        /src - .cc files
        /include .h files

在顶层,我想要 o 和最终的 exe。

4

3 回答 3

7

这是 Sconscript 文件的一个示例

env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:inc',
                CPPDEFINES=[],
                LIBS=['glib-2.0']) 
env.Program('runme', Glob('src/*.c'))

(对于示例来说,环境行并不是真正需要的,但我让它包含非标准 glib 标头路径并将其留在那里,这样您就可以了解如何添加额外的包含和定义)

源文件在 src 目录下,头文件在 inc 目录下。您从基本目录运行 scons 并且输出文件也在同一目录中生成。

于 2008-11-19T19:05:01.897 回答
5

这个问题:https://stackoverflow.com/questions/279860/... 提供了一个非常灵活的 scons 框架,它应该通过对路径变量进行一些调整来满足您的需求。

于 2008-11-19T19:01:05.260 回答
4
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:include',
                CPPDEFINES=[],
                LIBS=['glib-2.0']) 

if ARGUMENTS.get('debug', 0):
    env.Append(CCFLAGS = ' -g')

env.Program('template', Glob('src/*.cc'))

工作了一个款待。谢谢。

于 2008-11-19T22:20:04.780 回答