2010-12-31 28 views
3

私はcentosで作業しています。私は自分のシステムにブーストバージョン1.45.0をインストールしました。プログラムが正常にコンパイルされているが、私は出力を見るためにコマンドを入力するたびに、それは、次のエラー得られます、彼らは/usr/local/libで、おそらくです(などあなたがBoostライブラリへのパスが含まれるようにLD_LIBRARY_PATH環境変数を設定する必要がありブーストの共有ライブラリの読み込み中にエラーが発生しました。

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

答えて

5

のですか?

リンカーがライブラリを見つけることができないという問題があり、プログラムをビルドしたときにライブラリを検索するために追加のライブラリパスを手動で指定する必要がありました。

export LD_LIBRARY_PATH=/path/to/boost/libs:$LD_LIBRARY_PATH

他の回答に加えて

./runExecutable

2

を)。 bashで

、これは単にあなたがBoostライブラリをインストールしましたか

export LD_LIBRARY_PATH=/path/to/boost:$LD_LIBRARY_PATH 
+1

はtcshで設定されています。LD_LIBRARY_PATH/path/to/boost:$ LD_LIBRARY_PATH – Akhil

4

、あなたも設定することができます:あなたが行うことができます

Aクイックフィックスは、ブーストスレッドライブラリがどこにあるディレクトリを含むようにLD_LIBRARY_PATHを設定することですDT_RPATH実行ファイルをリンクするときのelfタグ

-Wl,-rpath,/path/to/boost/libraries -L /path/to/boost/libraries -lboost_whatever 

この方法で、ライブラリが非標準の場所にインストールされている場合は、LD_LIBRARY_PATHを設定するのを忘れる必要はありません。

関連する問題