2013-04-12 3 views
1

은 내가 lazyfoo SDL 자습서 (http://lazyfoo.net/SDL_tutorials/lesson01/windows/devcpp/index.php)를 시작하고 난 기록 된대로 정확하게 설치 지침을 따랐하지만 난이 컴파일 할 때 ->SDL DevC++ 링커 문제

#include "SDL/SDL.h" 

int main(int argc, char* args[]) 
{ 
    //Start SDL 
    SDL_Init(SDL_INIT_EVERYTHING); 

    //Quit SDL 
    SDL_Quit(); 

    return 0;  
} 

을 발생합니다 ->

-lSDLmain을 검색 할 때 호환되지 않는 C : /SDL-1.2.15/lib/libSDLmain.a를 생략하면 c : \ program files (x86) \ dev-cpp \ mingw64 \ x86_64-w64-mingw32 \ bin \ ld.exe

c : \ program files (x86) \ dev-cpp \ mingw64 \ x86_64-w64-m ingl32 \ bin \ ld.exe가 호환되지 않는 C : /SDL-1.2.15/lib/libSDLmain.a를 건너 뛰는 경우 -lSDLmain을 검색 할 때

c : \ program files (x86) \ dev-cpp \ mingw64 \ x86_64-w64 -lSDLmain을 검색 할 때 호환되지 않는 C : /SDL-1.2.15/lib/libSDLmain.a를 건너 뛰는 -mingw32 \ bin \ ld.exe

c : \ program files (x86) \ dev-cpp \ mingw64 \ x86_64- \ dev \ cpp \ mingw64 \ x86_64-w64-mingw32 \ bin \ ld.exe와 호환되지 않는 C :/SDL-C : \ bin \ ld.exe를 찾을 수 없습니다. 1.2.15/lib/libSDL.dll.a -lSDL을 검색 할 때

c : \ program files (x86) \ dev-cpp \ mingw64 \ x86_64-w64-mingw32 \ bin \ ld.exe 호환되지 않는 C : /SDL-1.2.15/lib/libSDL.dll.a를 건너 뛰는 경우 -lSDL을 검색 할 때

c : \ program files 86) \ DEV-CPP \ mingw64 \ x86_64에-W64-mingw32 \ 빈 \의 ld.exe이 -lSDL

C 찾을 수 없습니다 : \ SDL 튜토리얼 프로젝트는 \ collect2.exe [오류] 신분증 1 종료 상태

반환을

나는 DevC++ 5.4.1 및 메신저 SDL-devel-1.2.15-mingw32.tar.gz

이 내 문제와 아무 상관이 있나요 설치하려고했다?

나는 모든 것을 시도했으며 그냥 건너 뛰면 libSDLmain.alibSDL.dll.a에 대해 호환되지 않는 것으로 표시됩니다.

+0

다음과 같을 수 있습니다 : http://stackoverflow.com/questions/7925926/skipping-incompatible-libsdl-a-when-searching-for-lsdl –

+0

64 비트 Windows가 있고 64 비트 버전의 SDL 개발 라이브러리가 웹 사이트에 없습니다. 지시에서 SDL.dll을 C : \ Windows \ SysWOW64에 넣으면 ok라고 표시됩니다. –

+0

저는 SDL 전문가는 아니지만, sdl.dll은 DLL의 32 비트 버전이고 실행 가능한 32 비트 버전을 빌드하는 경우에만 SysWOW64로 가야한다고 생각합니다. –

답변

0

C : \ 프로그램 파일 (86) \ dev에-CPP \ mingw64 \ x86_64에-W64-mingw32 \ 빈 \의 ld.exe 호환되지 않는 C를 건너 뛰는 : /SDL-1.2.15/lib/libSDLmain.a 때를 -lSDLmain에 대한 검색

호환되지 않는 바이너리가있을 수 있습니다. 왜 x64 컴파일러를 사용하고 있습니까? MinGW을 설치하고 원시 gcc로 컴파일 해보십시오. 당신이 것을 시도하는 경우

, 당신의 경로는 MinGW/bin을 추가하고 gcc 'filelocation' -lmingw32 -lSDLmain -lSDL

을 실행하거나 데브의 86 버전을 사용해보십시오. 또한 IIRC -lSDLmain-lSDL 앞에 와야하며 Windows에서는 올바르게 연결하고 작동시키기 위해 -lmingw32을 추가해야합니다.

이 모든 것이 실패 할 경우 확실한 방법은 동일한 MinGW를 사용하고 msys를 사용하여 SDL을 직접 컴파일하는 것입니다.단지 디렉토리로 변경하고

./configure 
mingw32-make 
0

당신은 32 비트에는 MinGW와 ++ 데브 - C를 설치해야 실행하고 SDL 작업이 옵션을 사용

당신은 libs와 또는 32 비트 및 64 비트 버전을 혼합 할 수