/etc/ld.so.confには/usr/libは含まれていません。

/etc/ld.so.confには/usr/libは含まれていません。

pkg-config私はC ++コンパイル中に正しいライブラリを提供するためにそれを使用します。私が理解したのは、includeディレクティブを指して、次のライブラリの場所を参照し/etc/ld.so.confました。ld.so.conf/etc/ld.so.conf.d/*.conf

/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

問題は、私が必要とするライブラリが/usr/lib基本的に下にあることです。

このパスを/etc/ld.so.conf自分のパスに追加したり、ライブラリを移動したりできますか?または推奨される方法は何ですか?

ベストアンサー1

明確にするために:このファイルは、動的/etc/ld.so.conf(ランタイム)リンカ/ローダ(Linux)で使用され、実行にロードされているバイナリのシンボルを確認します(ここには共有ライブラリも含まれています)。これは、複数のオブジェクト/アーカイブをまとめて組み立て、その依存関係を解決するために使用されるld-linux.soリンカーとは対照的です。ld

動的リンカーは、/etc/ld.so.confバイナリをロードするときに共有ライブラリを見つける必要があるディレクトリのリストを確認します。上記のパスに加えて、リンカはデフォルトパスも検索します(Linuxでは/lib通常64ビットローダに/usr/lib変更されます)。lib64〜しない限りこのバイナリは、この機能を明示的に無効にするフラグ(-x nodefaultlibbinutils ' ld)に関連付けられていますld.so.conf

おすすめ記事