2017-04-21 87 views
4

我希望在本地建立和安裝一個軟件到$HOME/.local/路徑,而不是系統範圍的/usr/文件夾。該軟件使用CMAKE進行編譯。如何在CMAKE中設置RPATH?

安裝軟件二進制文件安裝在$HOME/.local/bin/和庫中$HOME/.local/lib/。因此,當我嘗試運行該程序時,它會拋出一個找不到所需庫的錯誤(順便提一下,它存在於$HOME/.local/lib/中)。

如果我將$LD_LIBRARY_PATH設置爲$HOME/.local/lib,程序工作正常。但我不想要這個。因此,我想知道如何在使用CMAKE編譯軟件時指定RPATH變量(它指向)。

請幫忙。

回答

5

我使用下面兩行CMakefile

set(CMAKE_MACOSX_RPATH 1) 
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") 

+0

感謝(第一個前提是你使用MacOSX的是必需的),這個工作。不過,我正在使用CentOS。因此,如你所說,第一行不是必需的。 –