2017-04-21 3 views
4

Ich möchte eine Software lokal zu dem $HOME/.local/ Pfad anstelle eines systemweiten Ordners /usr/ erstellen und installieren. Die Software verwendet CMAKE zum Kompilieren.Wie setze ich RPATH in CMAKE?

Nach Installation der Software sind Binärdateien in $HOME/.local/bin/ und Bibliotheken in $HOME/.local/lib/ installiert. Daher, wenn ich versuche, das Programm auszuführen, wird ein Fehler ausgegeben, der besagt, dass die Bibliothek nicht gefunden wird (die übrigens in $HOME/.local/lib/ vorhanden ist).

Das Programm funktioniert gut, wenn ich die $LD_LIBRARY_PATH auf $HOME/.local/lib einstellen. Aber ich will das nicht. Daher würde ich gerne wissen, wie man die RPATH Variable (die auf $HOME/.local/lib zeigen würde) beim Kompilieren der Software unter Verwendung von CMAKE spezifizieren würde.

Bitte helfen.

Antwort

5

Ich verwende die folgenden zwei Zeilen in der CMakefile

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

(die erste ist nur erforderlich, wenn Sie Mac OS X verwenden)

+0

Danke, arbeitete diese. Ich verwende jedoch CentOS. Daher wurde, wie Sie sagten, die erste Zeile nicht benötigt. –

Verwandte Themen