我正在使用cmake创建包
我有以下结构
bin/
bin1
lib/
lib1
lib2其中lib1和lib2是外部动态库。如何设置RPATH,使其自动与lib1和lib2链接?
发布于 2012-03-31 03:58:09
在这方面,我也一直在为cmake大惊小怪。Cmake使用CMAKE_SKIP_BUILD_RPATH在构建时进行链接,并使用CMAKE_INSTALL_RPATH设置构建安装目标时使用的rpath。cmake有一些关于使用其rpath机制的好信息:http://www.cmake.org/Wiki/CMake_RPATH_handling
另一种方法是使用ldconfig。我注意到在构建svn(1.6.17)时,make install target调用ldconfig来设置rpath。
看一下$ORIGIN,因为您需要在rpath中使用它来保持它相对于二进制文件而不是相对于$PWD。
Building a simple (hello-world-esque) example of using ld's option -rpath with $ORIGIN
发布于 2011-12-06 23:13:22
CMake会自动将rpath添加到您使用target_link_libraries()链接的所有目标。
要关闭它,可以使用CMAKE_SKIP_RPATH选项。
https://stackoverflow.com/questions/8401450
复制相似问题