2013-04-12 70 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;  
} 

出現這種情況 - >

c:\ program files(x86)\ dev-cpp \ mingw64 \ x86_64-w64-mingw32 \ bin \ ld.exe跳過不兼容C:/SDL-1.2.15/lib/libSDLmain.a搜索-lSDLmain時

c:\ program files(x86)\ dev-cpp \ mingw64 \ x86_64-w64-m當搜索-lSDLmain時,ingw32 \ bin \ ld.exe跳過不兼容的C:/SDL-1.2.15/lib \ libSDLmain.a

c:\ program files(x86)\ dev-cpp \ mingw64 \ x86_64-w64 -mingw32 \ BIN \ ld.exe跳過不兼容C:尋找-lSDLmain

c當/SDL-1.2.15/lib/libSDLmain.a:\程序文件(x86)\ DEV-CPP \ mingw64 \ x86_64- w64-mingw32 \ bin \ ld.exe找不到-lSDLmain

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(x86)\ DEV-CPP \ mingw64 \ x86_64的-W64-的mingw32 \ BIN \ ld.exe跳過不兼容C:/SDL-1.2.15/lib/libSDL.dll.a爲-lSDL

Ç搜索時:\ Program Files文件( 86)\ DEV-CPP \ mingw64 \ x86_64的-W64-的mingw32 \ BIN \ ld.exe找不到-lSDL

C:\ SDL教程項目\ collect2.exe [錯誤] LD返回1退出狀態

我有DevC++ 5.4.1和即時嘗試安裝SDL-devel-1.2.15-mingw32.tar.gz

這是否與我的問題有什麼關係?

我已經試過了一切,它只是說跳過libSDLmain.alibSDL.dll.a不兼容。

+0

你可能會混淆庫或它的32位和64位版本可能是這樣的:http://stackoverflow.com/questions/7925926/skipping-incompatible-libsdl-a-when-searching-for-lsdl –

+0

我有64位Windows,並沒有在其網站上的64位版本的SDL開發庫,但在說明中說如果你把SDL.dll放在C:\ Windows \ SysWOW64中,就可以了。 –

+0

我不是SDL的專家,但我相信只有在它是32位版本的dll的情況下,sdl.dll纔會轉到SysWOW64,並且您正在構建32位版本的可執行文件 –

回答

0

C:\程序文件(86)\ DEV-CPP \ mingw64 \ x86_64的-W64-的mingw32 \ BIN \ ld.exe 跳過不相容C:/SDL-1.2.15/lib/libSDLmain.a時對於-lSDLmain

搜索 你可能有不兼容的二進制文件。你爲什麼使用x64編譯器?嘗試安裝MinGW並使用原始gcc編譯。

如果你嘗試,添加的MinGW/bin添加到您的路徑和運行gcc 'filelocation' -lmingw32 -lSDLmain -lSDL

,或者嘗試使用開發的x86版。此外,IIRC -lSDLmain應該在-lSDL之前,並且在Windows上,您需要添加-lmingw32以使其鏈接並正常工作。

如果這一切都失敗了,一個可靠的方法是獲取相同的MinGW並使用msys自己編譯SDL ..剛換入目錄,然後運行

./configure 
mingw32-make 
0

您應該安裝開發-C++使用MinGW爲32位,使用此選項與SDL合作