2017-01-20 12 views
2

Eclipseで使用するためにSDLをビルドしようとしています。私はこのリンカエラーを取り除くしようとしています:リンカーエラーを解消する方法mingw32/bin/ld.exe:-lSDLを見つけることができません

以降コンパイル

21:15:53 **** Incremental Build of configuration Debug for project CMD **** 
Info: Internal Builder is used for build 
g++ "-IC:\\MinGW\\include\\SDL2" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\CMD.o" "..\\src\\CMD.cpp" 
g++ -o CMD.exe "src\\CMD.o" -lmingw32 -lSDL -lSDL2main -lSDL2 

ERROR(S):

c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL collect2.exe: error: ld returned 1 exit status 21:15:54 Build Finished (took 1s.36ms)

most pertinent SO archive source I researchedは、しかし、私の問題のための実用的な答えを持っていないようでした タイトル - 同じエラーメッセージが表示される:

c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL.

私が同じエラーのために作者の "解決策"をクリックすると、彼はそれをどのように解決したのか分かりません。

助けが必要ですか?

+0

あなたの 'libSDL2.a'および/または' libSDL2.dll.a'はどこにありますか?ヘッダー( '-I'コンパイラフラグ付き)ではパスを渡しましたが、ライブラリディレクトリへのパスではありません(リンクフェーズ中に' -L'フラグ)。 – keltar

+0

libSDL2.aとlibSDL2.dll.aの両方が見つかりました。c:/ MinGW/lib – user121903

+1

「SDL」と「SDL2」の両方をリンクしているのはどうしてですか?彼らは互換性がありません。 – keltar

答えて

0

問題が解決しました.SDL2は素晴らしいです。 OK:

c:/ mingw/bin /../ lib/gcc/mingw32/4.7.0 /../../../../ mingw32/bin/ld.exe:-lSDLが見つかりません。 。

SDL2とSDL2ファイルの間のバイナリ競合を避けるためにSDL2を再インストールすると、keltarのように即時の問題が解決され、問題は解決されました。私はこのプログラムを裸の骨に取り除き、コードがなくても発生していたので、コードの外にあると結論づけました。

新しい問題を解決するには、SDL2ディストリビューションファイル(MinGWにコピーされたもの)に移動し、[DLL from distributable] [1]からSDL2.dllをコピーする必要があります。または.exeファイルが存在するフォルダを解放する(.exe + dll - > right?)moving dll to exes。プログラムをビルドして実行してください。 それはうまくいくはずです! ようこそメッセージが表示されます。 https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html

関連する問題