我一直在试图让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'])