關於這方面,SO上有相當多的類似主題,但我已經用完了15個類似線程的所有建議。使用Code :: Blocks的未定義的SDL函數引用
在運行使用SDL庫的教程代碼時,IDE抱怨所有與SDL有關的功能都是「未定義參考」。
形勢
體系結構:64位
IDE:代碼塊16.01
編譯器:GNU GCC
我試圖做
1)I告訴編譯器在目錄下查找標題: ..... \ i686的-W64-的mingw32 \包括使用\ SDL2相對路徑
我沒有選擇\包括我也沒有選擇..... \ x86_64的-W64-的mingw32 \包括\ SDL2
2)我告訴編譯器找到目錄下的庫文件: ..... \ i686的-W64-的mingw32 \使用相對路徑的lib
我沒有選擇.... \ lib中我也沒有選擇..... \ x86_64-w64-mingw32 \ lib
3)當鏈接庫時,我在目錄 .... \ i686-w64-mingw32下包含了四個庫\ lib而不是上面提到的其他目錄。
4),在該文庫中鏈接的順序如下:
SDL2main.lib
SDL2.lib
SDL2test.lib
5)本人保證屬性的main.c是這樣的:編譯文件被檢查,鏈接文件被檢查,並且目標調試和釋放中的屬性都被檢查。
生成日誌:
--------------構建:調試中貪吃蛇遊戲(編譯:GNU GCC編譯)-------- -------
mingw32-g ++。exe -L ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib -o「bin \ Debug \ Snake Game.exe」obj \ Debug \ main.o -lmingw32 ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686- w64-mingw32 \ lib \ libSDL2main.a ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib \ libSDL2.a OBJ \調試\ main.o:在功能
SDL_main': C:/XXX/XXX/XXX/XXX/XXX/main.c:9: undefined reference to
SDL_WM_SetCaption」
日誌的推移和未定義的引用。
任何人都可以指導我解決這個鏈接問題嗎?
什麼編譯器? MinGW的? – HolyBlackCat
請包含由code :: blocks:命令和輸出提供的完整鏈接跟蹤。 –
@HolyBlackCat GNU GCC –