Linux下ライブラリファイルの設定(/usr/bin/ld:cannot find-lxxxの解決方法)
2543 ワード
Linux下ライブラリファイルの設定(/usr/bin/ld:cannot find-lxxxの解決方法)
ソフトウェアのコンパイル中に、このようなコンパイルエラーが発生することがよくあります.
解決策は次のとおりです.
1.このライブラリファイルと関連ソフトウェアのインストール
一般ライブラリファイルはソフトウェアに属し、googleはソフトウェアを検索してインストールするか、yumを使用してインストールします.
2.ライブラリファイルのあるパスをgccの検索パスに追加する
次のコマンドを使用して、gccが指定したライブラリファイルを検索できるかどうかをクエリーします.
ソフトウェアがインストールされている場合は、ライブラリファイルのパスが見つかります.しかし、上記のエラーは依然として提示されます.gccの検索パスには、そのライブラリファイルが存在するパスが含まれていないことを示します.ライブラリファイルが存在するパスを検索パスに追加する方法は、次のとおりです.
2.1/etc/ld.so.confプロファイルの使用
ライブラリファイルが存在するパスを/etc/ld.so.confの末尾に追加し、有効にします.
2.2環境変数の変更
通常、ソフトウェアコンパイル時に発生するusr/bin/ld:cannot find-lxxxのエラーは、ライブラリファイルがインポートされていないld検索ディレクトリに主な原因があります.
解決方法:
1.ライブラリファイルが存在するかどうかを確認します.たとえば、-l 123、/usr/lib、/usr/local/lib、または他のカスタムlibの下にlib 123.soが存在するかどうかを確認します.lib 123.so.1のみが存在する場合、
ではln-sv lib 123.so.1で lib 123.so、接続を確立してlib 123.soを再構築する.
2./etc/ld.so.confのライブラリファイルのパスが正しいかどうかを確認します.ライブラリファイルがシステムパス、/usr/lib、/usr/local/libを使用していない場合は、ファイルに追加する必要があります.
3.ldconfigはld.so.cacheファイルを再構築し、ldのライブラリファイルはディレクトリ格納ファイルを取得します.特にインストールされたソフトウェアをコンパイルするにはldconfigを実行する必要があります.
ライブラリファイルはld.so.cacheをインポートします.
4.テスト、gcc-l 123--verbose.
ここでの123は対応するライブラリ名であり、123は一例でmodeではない
2.3 コンパイル方法
gcc-o test test.c-l(ライブラリ名:「lib」を除く)
参照先:
http://jiangwenfeng762.iteye.com/blog/1740325
posted @
2018-09-29 18:23小时挺菜阅读(
...)コメント(
...)コレクションの編集
ソフトウェアのコンパイル中に、このようなコンパイルエラーが発生することがよくあります.
/usr/bin/ld: cannot find -lhdf5
libhdf5.so, , cannot find -lxxx , xxx 。
解決策は次のとおりです.
1.このライブラリファイルと関連ソフトウェアのインストール
一般ライブラリファイルはソフトウェアに属し、googleはソフトウェアを検索してインストールするか、yumを使用してインストールします.
2.ライブラリファイルのあるパスをgccの検索パスに追加する
次のコマンドを使用して、gccが指定したライブラリファイルを検索できるかどうかをクエリーします.
$ gcc -lhdf5 --verbose
libhdf5.so 。
ソフトウェアがインストールされている場合は、ライブラリファイルのパスが見つかります.しかし、上記のエラーは依然として提示されます.gccの検索パスには、そのライブラリファイルが存在するパスが含まれていないことを示します.ライブラリファイルが存在するパスを検索パスに追加する方法は、次のとおりです.
2.1/etc/ld.so.confプロファイルの使用
ライブラリファイルが存在するパスを/etc/ld.so.confの末尾に追加し、有効にします.
$ sudo echo '/opt/biosoft/hdf5-1.8.15-patch1/lib/' >> /etc/ld.so.conf
libhdf5.so /opt/biosoft/hdf5-1.8.15-patch1/lib/ ,
$ sudo ldconfig
, /ext/ld.so.conf , 。
2.2環境変数の変更
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/
LD_LIBRARY_PATH, 。 export 。
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/' >> ~/.bashrc
$ source ~/.bashrc
export ~/.bashrc, 。
$ export LIBRARY_PATH=/opt/biosoft/hdf5-1.8.15-patch1/lib/:$LIBRARY_PATH
LD_LIBRARY_PATH , LIBRARY_PATH 。
https://www.cnblogs.com/zhming26/p/6164131.html
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通常、ソフトウェアコンパイル時に発生するusr/bin/ld:cannot find-lxxxのエラーは、ライブラリファイルがインポートされていないld検索ディレクトリに主な原因があります.
解決方法:
1.ライブラリファイルが存在するかどうかを確認します.たとえば、-l 123、/usr/lib、/usr/local/lib、または他のカスタムlibの下にlib 123.soが存在するかどうかを確認します.lib 123.so.1のみが存在する場合、
ではln-sv lib 123.so.1で lib 123.so、接続を確立してlib 123.soを再構築する.
2./etc/ld.so.confのライブラリファイルのパスが正しいかどうかを確認します.ライブラリファイルがシステムパス、/usr/lib、/usr/local/libを使用していない場合は、ファイルに追加する必要があります.
3.ldconfigはld.so.cacheファイルを再構築し、ldのライブラリファイルはディレクトリ格納ファイルを取得します.特にインストールされたソフトウェアをコンパイルするにはldconfigを実行する必要があります.
ライブラリファイルはld.so.cacheをインポートします.
4.テスト、gcc-l 123--verbose.
ここでの123は対応するライブラリ名であり、123は一例でmodeではない
2.3 コンパイル方法
gcc-o test test.c-l(ライブラリ名:「lib」を除く)
参照先:
http://jiangwenfeng762.iteye.com/blog/1740325
posted @
2018-09-29 18:23小时挺菜阅读(
...)コメント(
...)コレクションの編集