cmake编译程序移植依赖链接库设置
在gcc编译选项中将 -Wl,rpath=xxx写入到runpath中,程序运行时会优先到指定的目录下寻找链接库,搜寻路径按照优先级:
- 使用选项 -Wl,-rpath 在编译时指定;
- 通过配置LD_LIBRARY_PATH 来指定;
- 在/lib 和 /usr/lib 中查找;
RPATH -- LD_LIBRARY_PATH -- RUNPATH(出现会屏蔽RPATH) -- /etc/ld.so.conf -- builtin dircetories(/lib, /usr/lib)
add_definitions(-std=c++11)SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -Wl,-rpath=./:./lib") #-Wl,-rpath=./
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wl,-rpath=./:./lib") #-Wall
参考:https://blog.csdn.net/wh8_2011/article/details/79519293
CMAKE和RPATH:https://blog.csdn.net/zhangzq86/article/details/80718559
CMAKE中RPATH的用法:https://blog.csdn.net/z296671124/article/details/86699720
Linux C编程(8) 使用相对路径加载动态库-rpath和$ORIGIN
以上是 cmake编译程序移植依赖链接库设置 的全部内容, 来源链接: utcz.com/z/511274.html