可以使用 CMake 中的变量 CMAKE_INSTALL_RPATH 来指定动态库的相对路径。假设我们有一个项目,其中包含一个名为 'libfoo.so' 的动态库,它被安装在 /usr/local/lib 目录下。我们可以在 CMake 中添加以下代码:

set(CMAKE_INSTALL_RPATH '$ORIGIN/../lib')

这将在安装后的可执行文件中设置一个运行时搜索路径,以查找相对于可执行文件的 'lib' 目录下的动态库。在这里,$ORIGIN 代表可执行文件所在的目录。因此,如果我们将可执行文件安装到 /usr/local/bin 目录下,它将在运行时搜索 /usr/local/bin/../lib 目录,即 /usr/local/lib 目录下的动态库。

请注意,在使用 CMAKE_INSTALL_RPATH 时,需要在安装后将可执行文件和动态库一起复制到目标系统上,否则运行时无法找到动态库。

CMake 设置动态库相对路径指南

原文地址: https://www.cveoy.top/t/topic/lCEZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录