我正在使用CMake在Linux上构建程序。该程序成功编译并从项目构建目录运行。该程序与目录${HOME}/build/lib
中的自定义库链接
我有一个安装阶段:
install(TARGETS ProgName RUNTIME DESTINATION bin)
当我运行
make install
时,程序会放置在正确的位置,但是cmake
安装程序会从二进制文件中删除运行时路径。-- Install configuration: "Debug"
-- Installing: *binary name*
-- Removed runtime path from "*binary name*"
我在互联网上阅读过一些文章,讨论了
LD_LIBRARY_PATH
变量的滥用,因此,我希望尽可能将我的信息限制在系统库的位置。我不是sysadmin,所以也无法将位置添加到默认链接程序搜索路径。有谁知道在安装或至少自定义将哪些路径添加到运行时时如何保留开发时链接路径?
干杯
最佳答案
您应该查看set_target_properties命令和属性BUILD_WITH_INSTALL_RPATH
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:set_target_properties
关于linux - 使用CMake创建二进制文件会删除运行时路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3352041/