2017-01-20 13 views
2

Я пытаюсь построить SDL для использования с Eclipse. Я пытаюсь удалить эту ошибку компоновщика:как устранить ошибку компоновщика mingw32/bin/ld.exe: не удается найти -lSDL

Входит Compilation

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 (ы):

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, похоже, не имеет действенный ответ на мою проблему, хотя он имел ту же самую проблему/ошибку: title - , производя такое же сообщение об ошибке:

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

Если вы нажмете на «решение» авторов той же ошибки, что и моя, мне не ясно, как он ее решил.

Любая помощь?

+0

Где у вас "libSDL2.a' и/или' libSDL2.dll.a'? Вы передали путь для заголовков (с флагом '-I' compiler), но не путь к каталогу библиотек (флаг' -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, предотвращающая двоичный конфликт между SDL-файлами и SDL2-файлами Как упоминалось в keltar, устранена непосредственная проблема, и проблема была построена без ошибок! Исправление того, что было в фигурных скобках, разоблачало новую проблему: сбой. Я лишил программу голых костей и пришел к выводу, что сбой был вне кода, поскольку он происходил даже без кода.

Чтобы решить новую проблему, необходимо будет отправить файл распространения SDL2 (тот, который скопирован в MinGW) и скопировать SDL2.dll из него [DLL из дистрибутива] [1] --- перетащив файл по вашей отладке и/или выпускать папки, в которых находится файл .exe. (.exe + dll -> right?) moving dll to exes. Строить/запускать программу это должно сработать! Вы должны увидеть приветственное сообщение! https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html