代码之家  ›  专栏  ›  技术社区  ›  RichieHH

scons:src和包含dirs

  •  5
  • RichieHH  · 技术社区  · 17 年前

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

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

    在顶层,我想要o和final exe。

    3 回复  |  直到 17 年前
        1
  •  7
  •   Amit    17 年前

    以下是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,输出文件也会在同一目录中生成。

        2
  •  5
  •   Community Mohan Dere    9 年前

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

        3
  •  4
  •   RichieHH    17 年前
    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'))
    

    做了一个治疗。谢谢。