ダイナミックリンクライブラリの問題のいくつかのように、プログラムをコンパイルするとき

Linuxの開発プロセスの下で、私たちはしばしば、あなたが頻繁に出会いはLXXX同様のエラーを見つけることができないことがあり、サードパーティのDLLを呼び出します。

エラーの三つの可能な一般的なこのタイプがあります。

まず、お使いのコンピュータには対応するライブラリプログラムが自然に見られないダイナミックリンクライブラリの時には存在しません。検索するfindコマンドを使用して、この問題は非常に単純であることを確認されていません。そうでない場合、プログラムが対応するように設置することができます。

第二には、ディレクトリ検索でコンパイルされたカタログであり、コンピュータ上の対応するライブラリですが、ありません。一般/ libと/ usr / libディレクトリ検索は、コンパイル時に固定され、通常は/ usr / local / libには、デフォルトの検索ディレクトリではありません。この問題を解決するには、非常にシンプルなものです:ディレクトリ検索をコンパイルするメイクファイルの増加、など-Lは/ usr / local / libにとして、-Lディレクトリを経由して行われます。2:そのシステムのディレクトリ検索にコピーしますが、検索システムは、図書館システムの総合カタログの一部がディレクトリにライブラリをコピーすることは推奨されませんので、混沌としています。3:検索ディレクトリは、/etc/ld.so.conf.d/ディレクトリの例をopencv.conf用のファイルを作成して追加し、次に、ファイル内のファイルの.soのパスを追加し、そのようなは/ usr / local / libに缶などA。違い第3の実施形態と第1実施形態は、現在のスキャンリストコンパイラ、および第三の変化の最初の変化があることであるスキャンリストコンパイラ上のすべてのシステム。

第三には、コンピュータ上の対応するライブラリ、ライブラリカタログもコンパイルされた検索ディレクトリがあります。この状況は、一般的にlibxxx.soせず、唯一のlibxxx.so.xx.xx.xxコンピュータ上に表示されています。DLLを検索しません検索、libxxx.so検索するときにシステムが一般的です。解決策は、コンピュータ上の新しいlibxxx.so libxxx.so.xx.xx.xx存在を指し、ソフトリンクを作成する簡単です。

一般的に問題を解決することができます上記の3つの方法は、動的なライブラリを見つけることができません。

公開された12元の記事 ウォンの賞賛4 ビュー20000 +

おすすめ

転載: blog.csdn.net/wuzhidefeng/article/details/103053287