web-dev-qa-db-ja.com

プログラムが「/ usr / local / lib」でライブラリを見つけられないのはなぜですか?

Ubuntu 10.10を使用していますが、opencvを2.4.2にアップグレードしました。

問題は、新しいシェルを開いてコンパイルして実行しようとするたびに、コンパイルされますが、次のエラーのために実行されないことです:

./a.out: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory

私が見る限り、このファイルは/ usr/local/lib /にあります!

事前に以下を実行することで実行できます。

export LD_LIBRARY_PATH=/usr/local/lib

この問題を修正するにはどうすればよいですか?

8
nkint

/usr/local/libはデフォルトのUbuntuパスにありません。 LD_LIBRARY_PATH/etc/environment環境変数の最後に追加する必要があります。再起動すると、新しいパスが有効になります。

〜/ .bashrcでユーザーごとに設定することもできます

例(/ etc/environment)

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

例(〜/ .bashrc)

export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"
4
ish