微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 SCons StaticLibrary 将库文件存储在另一个文件夹中

如何解决如何让 SCons StaticLibrary 将库文件存储在另一个文件夹中

我正在将 scons 用于构建项目。我想从驻留在不同目录的目标文件中创建一个静态库,但令人惊讶的是我无法做到这一点。这是我正在使用的代码片段:

OBJECT_FILES = env.Object('main.o','main.cpp')
env.StaticLibrary("../mylib",OBJECT_FILES)

如果我将任何目录放在此目录之上,即使我使用绝对路径,StaticLibrary 也不起作用。对于当前目录或当前目录下的任何其他目录,这没有问题。

解决方法

这就是我要这样做的方法..

env.StaticLibrary("../${LIBPREFIX}mylib${LIBSUFFIX}",'main.cpp')

无需明确请求 env.Object() SCons 会在这里找出正确的做法。除非出于某种原因,您以后想对该 Object() 的列表执行某些操作。

当您指定时

env.StaticLibrary("mylib",['main.cpp'])

SCons 将自动添加 $LIBPREFIX 并将 $LIBSUFFIX 附加到 mylib 并且在 POSIX 系统上你会得到 libmylib.a 在 Windows 上你会得到 { {1}} 请考虑加入 SCons discord server 以获得更多“实时”帮助和讨论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。