我希望在本地构建和安装软件$HOME/.local/而不是系统范围的/usr/文件夹.该软件使用CMAKE进行编译.
安装后,软件二进制文件安装在$HOME/.local/bin/库中$HOME/.local/lib/.因此,当我尝试运行该程序时,它会抛出一个错误,即找不到所需的库(顺便说一句,它存在于其中$HOME/.local/lib/).
如果我设置为$LD_LIBRARY_PATH,该程序工作正常$HOME/.local/lib.但我不想要这个.因此,我想知道如何在使用CMAKE编译软件时指定RPATH变量(指向$HOME/.local/lib).
请帮助.
Bru*_*evy 11
我在CMakefile中使用以下两行
set(CMAKE_MACOSX_RPATH 1)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
Run Code Online (Sandbox Code Playgroud)
(只有在使用MacOSX时才需要第一个)
CMAKE_INSTALL_RPATH是一个预定义的列表,所以我可以看到最好做的场景
list( APPEND CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib )
Run Code Online (Sandbox Code Playgroud)
如果你include( GNUInstallDirs )也可以
list( APPEND CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR} )
Run Code Online (Sandbox Code Playgroud)
不过,我是 CMake 新手,所以如果有人发现上述问题,请告诉我。
| 归档时间: |
|
| 查看次数: |
11467 次 |
| 最近记录: |