2017-01-20 6 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 (들) : :이 링커 오류를 제거하는 것을 시도하고있다

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로 복사 한 파일)을 이동하여 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