0

git (デバッグ、リリース、静的、動的) から SFML2 をダウンロードしてコンパイルし、次を使用してチュートリアルのサンプル コードを正常にコンパイルしました。

g++ main.cpp -lsfml-graphics -lsfml-window -lsfml-system

バイナリを実行しようとすると問題が発生し、共有オブジェクト (libsfml-graphics.so.2、libsfml-window.so.2 など) が見つかりません。

確認したところ、それらは /usr/local/lib に存在します。

何か不足していますか?

関連する場合は、Fedora 17 x64 および g++ 4.7.2 を使用する

4

1 に答える 1

2

/usr/local/lib通常、ダイナミックリンカーでは検索されません。に追加しLD_LIBRARY_PATHます。

/usr/local/libまたは、常に検索するように ダイナミックリンカを設定します/usr/local/lib64。これは通常、/etc/ld.so.confファイルにパスを追加し、を実行することによって行われますldconfig

32/64ビットの問題が発生することもあります。つまり、32ビットの実行可能ファイルを実行しようとして64ビットのライブラリのみが存在するか、またはその逆です。実行file <somtething>.sofile <your-executable>て、アーキテクチャを決定します。一般に、32ビットライブラリはに<whatever>/lib、64ビットライブラリはに移動します<whatever>/lib64が、間違った場所に配置される場合があります。

于 2012-11-22T20:09:34.610 に答える