2017-02-22 7 views
2

コンテンツのロード中にエラー:私のメイクファイルのライブラリー

all: compile launch 

compile: 
    g++ main.cpp -c -I/media/eidan/soft/c++/Libraries/SFML-2.4.2/include 

launch: 
    g++ main.o -o result -L/media/eidan/soft/c++/Libraries/SFML-2.4.2/lib -lsfml-window -lsfml-system -lsfml-graphics 

そして、私は打ち上げプログラムをしようとしている私はこの取得:

./result: error while loading shared libraries: libsfml-window.so.2.4: cannot open shared object file: No such file or directory 

私SFMLパスが正しいとlibsfml-ウィンドウファイルが、 .so.2.4が存在する

Makefileを変更するにはどうすればいいですか?

PS:Ubuntuの16.04

+0

あなたのパスを確認し、二重、問題は 'LSをご提示ください-l /メディア/営団/ソフト/ C++ /ライブラリ/ SFML-2.4.2/libに/ libsfml-ウィンドウ*' –

+0

SFMLファイルへのパスに関連すると思われますそれ以外にも、Makefileからではなく、手で与えるコマンドラインからプログラムを起動するのが分かりますか?次に、私はMakefileがエラーメッセージとは関係がないと仮定します。 – dmi

+0

@dmi![valid XHTML](http://imgur.com/OQakv5J)。 – Eidan

答えて

0

これは、次のいずれかの方法で解決することができます。
1. /etc/ld.so.conf.d/some.confファイルを作成し、追加/メディア/営団/ソフト/c++/Libraries/SFML-2.4.2/lib path there
2.起動時に、リンクされた共有ライブラリディレクトリのLD_LIBRARY_PATHをエクスポートして、起動スクリプトを作成します。このライブラリパスは、起動した任意のbashセッションに対して手動でエクスポートできます。
-L CFLAGは、コンパイラによってのみ使用されています。ライブラリパスが最終バイナリファイルに含まれていません。