gpt4 book ai didi

c++ - 使用 SCons 构建外部代码树

转载 作者:太空狗 更新时间:2023-10-29 21:30:32 24 4
gpt4 key购买 nike

我正在尝试使用 SCons 构建一个软件,该软件依赖于系统中安装的源中可用的库。例如在 /usr/share/somewhere/src 中。该目录中的*.cpp 应该构建到静态库中并与我自己的代码链接。库资源中没有 SConscript

由于库在系统目录中,我没有权限,也不想将构建工件放在 /usr 下的某个地方。当前工作目录中的 /tmp.build 即可。我怀疑这可以很容易地完成,但我被所有这些 SConscriptsVariantDirs 所困扰。

env = Environment()
my_things = env.SConscript('src/SConsctipt', variant_dir='.build/my_things')
sys_lib = env.SConscript(????)
result = env.Program('result', [my_things, sys_lib])

解决 SCons 问题的预期方法是什么?

最佳答案

你可以使用 Repository去做这个。例如,在您的 SConstruct 中您可以这样写:

sys_lib = env.SConscript("external.scons", variant_dir=".build/external")

然后在 external.scons 文件(位于您的源代码树中)中,添加外部源代码树的路径以及如何在其中构建库。

env = Environment()
env.Repository("/usr/share/somewhere/src")
lib = env.Library("library_name", Glob("*.cpp"))
Return("lib")

关于c++ - 使用 SCons 构建外部代码树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2592821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com