Force Scons输出(exe,obj,lib和dll)到特定的构建目录

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

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...