shared-libraries - 如何在 SConstruct 中包含共享库?

标签 shared-libraries scons dynamic-linking

我已经从 Mobile Robot Programming Toolkit (MRPT-Homepage) 的一部分构建了一个共享库。现在我想知道如何将它包含在我的 SConstruct 构建脚本中?我有 lib 和 .so 的头文件。

我在谷歌上搜索了一段时间,但我无法找到解决方案,因此如果有人可以向我指出可能有助于或告诉我如何做到这一点的资源,我会非常高兴。

最佳答案

scons 用户手册中 Linking with Libraries 上的部分可能会有所帮助。您只需设置 LIBS到您要链接的库列表和LIBPATH到图书馆的路径。如果你要链接一个名为 libmrpt.so 的库, 使用 LIBS = ['mrpt'] .

根据这是要链接的通用库还是仅使用一次,您可以设置 LIBSLIBPATH在您的环境中 (1) 或单个目标 (2):

env = Environment(CPPPATH = ['path/to/headers'],
                  LIBS = ['mrpt'], LIBPATH = ['path/to/lib'])     # (1)
...
myprog = env.Program('my_program', [...sources...], 
                     LIBS = ['mrpt'], LIBPATH = ['path/to/lib'])  # (2)

关于shared-libraries - 如何在 SConstruct 中包含共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550016/

相关文章:

c++ - 在库中使用模板

c++ - 良好做法:如何定义外部库的编译路径

c++ - 无法使用 scons 构建我的单元测试以及程序

c - 使用一些相同的符号链接(symbolic link)两个共享库

在共享库中不使用 PLT 调用另一个目标文件中的函数?

c++ - 检查Linux中库中函数的存在

linux - 共享库兼容性问题

c++ - Linux 程序员新手 -- 尝试开发库

visual-studio - 使用 SCons TryCompile 检查 Windows 上的编译器标志支持

jQuery UI 选项卡 - 深度链接到选项卡内容