cmake编译程序移植依赖链接库设置

编程

在gcc编译选项中将 -Wl,rpath=xxx写入到runpath中,程序运行时会优先到指定的目录下寻找链接库,搜寻路径按照优先级:

  1. 使用选项 -Wl,-rpath 在编译时指定;
  2. 通过配置LD_LIBRARY_PATH 来指定;
  3. 在/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

回到顶部