如何在SConstruct中包含共享库?

时间:2011-04-05 09:49:53

标签: shared-libraries scons dynamic-linking

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

我用Google搜索了一段时间,但我无法找到解决方案,因此如果有人能指出我可以帮助或告诉我如何执行此操作的资源,我会非常高兴。

1 个答案:

答案 0 :(得分:4)

Linking with Libraries上scons用户手册中的部分可能会有所帮助。您只需将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)