特定のライブラリ パス設定に優先順位を付ける方法
g と ld を使用して C プログラムをコンパイルする場合、ライブラリが同じ名前のファイルがデフォルト パスとカスタム パスの両方に存在するため、競合が発生します。これを解決するには、主に 2 つのアプローチがあります。
LD_LIBRARY_PATH (または同等のもの) を使用する
LD_LIBRARY_PATH 環境変数を使用すると、ダイナミック ライブラリの検索パスを指定できます。カスタム ライブラリに優先順位を付けるには、そのパスを LD_LIBRARY_PATH のデフォルト パスの前に追加します。例:
<code class="bash">export LD_LIBRARY_PATH=/my/dir:$LD_LIBRARY_PATH</code>
「-Wl,-rpath」オプションの使用
g に渡される「-Wl,-rpath」オプションは、リンカーに次のことを指示します。ランタイム ライブラリの検索パスとして特定のパスを使用します。このパスは、標準の検索パスよりも優先されます。コマンドの例は次のとおりです。
<code class="bash">g++ -Wall -g -o my_binary -L/my/dir -lfoo -Wl,-rpath,$(DEFAULT_LIB_INSTALL_PATH) bar.cpp</code>
追加の考慮事項
以上がG および LD で特定のライブラリ パスを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。