我一直在试图让scons将exe,obj,lib和dll文件输出到一个特定的构建目录.
我的文件结构如下所示:
/projectdir /build /bin /obj /source /subdirs /.. SConstruct
基本上我现在得到的是我的源目录被obj文件污染了.我宁愿把它全部放在一个地方.
SConstruct文件如下所示:
env.VariantDir('build','source',duplicate = 0) env.Program('Hierarchy',source = ['source/sconstest.cpp','source/utils/IntUtil.cpp'])
我在这个网站上看过其他一些类似的问题,但尚未找到一个很好的解决方案.
谢谢
我找到的最简单的方法是使用2个文件,一个SConstruct文件和一个单独的SConscript.
在SConstruct中,您只需调用其他文件并指定构建输出的目录:
# content SConstruct SConscript('main.scons',variant_dir='build',duplicate=0)
然后在“main.scons”中,你做你的建设的肉.你可以忘记这个文件中的变体目录.
# content of main.scons env = Environment() env.Program('Hierarchy','source/utils/IntUtil.cpp'])