加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 01:45:15 所属栏目:Windows 来源:网络整理
导读:我一直在试图让scons将exe,obj,lib和dll文件输出到一个特定的构建目录. 我的文件结构如下所示: /projectdir /build /bin /obj /source /subdirs /.. SConstruct 基本上我现在得到的是我的源目录被obj文件污染了.我宁愿把它全部放在一个地方. SConstruct文件
我一直在试图让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'])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读