
コンパイル時にビルドされるバイナリに、実行時に特定のライブラリを探すパスを伝えることは可能ですか?たとえば、非標準の場所にある共有ライブラリへのリンク時に結果バイナリを実行するには、その共有ライブラリのパスをLD_LIBRARY_PATHに追加する必要があります。するオプションです。
Ubuntu 14.04、GCC。
答え1
-Wl,-rpath,'/path/to/library'
はい、GCCにパラメータを追加することで可能です。これは、リンカーが-rpath '/path/to/library'
呼び出されたときに実行するように指示します。
通常、次を追加して、ほとんどのautoconfベースのmakeファイルにそれを追加できます。
LDFLAGS=-Wl,-rpath=/path/to/library
コンパイル時の環境。
いつものように、WikipediaのRPATH記事すべての詳細があります。
答え2
はい。これらの手順は、使用されるコンパイラとリンカによって異なります。
GNU cc コンパイラの場合、追加すると、-Wl,-rpath=/home/me/lib
ランタイムがリンクする必要があるライブラリを検索する場所に /home/me/lib が追加されます。