2014-04-11 94 views
-4

我是C++遊戲開發的初學者。我試圖在代碼塊上設置sdl庫;我跟蹤了我在Google上找到的每個教程,但無法使其工作。我還包括SDL2_image-2.0.0和SDL2_mixer-2.0.0,但它不起作用。錯誤是:sdl設置窗口的proplem

#include <winapifamily.h> ||=== Build: Debug in tut (compiler: GNU GCC Compiler) ===| 
C:\mingw_dev_lib\SDL2-2.0.3\x86_64-w64-mingw32\include\SDL2\SDL_platform.h|121|fatal error: winapifamily.h: No such file or directory| 
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| 
include <winapifamily.h> 

我的代碼有什麼問題?

+0

嘗試刪除包含 jpw

+0

將出現其他錯誤 –

+0

如果您想要更好的建議,請發佈代碼。沒有看到任何代碼,很難說出什麼可能是問題。 – jpw

回答

4

我其實只是在一兩天前在Code :: Blocks上設置SDL2。因爲我懷疑你的環境可能未正確配置,這裏是我做到了,本教程here大致如下:

  1. 同時下載一個運行時二進制和the SDL2 download page開發庫。確保運行時二進制文件適用於您的應用程序 - 換句話說,如果您正在構建32位可執行文件,請獲取32位SDL,並且如果您要構建64位二進制文​​件,請獲取64位SDL。
  2. 將開發庫解壓縮到您選擇的文件夾中,並對運行時二進制文件執行相同操作。記住你用於這些的路徑。我的SDL運行時二進制文件使用了「D:\ Programming \ C++ \ SDL \ SDL2.dll」,我的開發庫使用了「D:\ Programming \ C++ \ SDL \ SDL2-2.0.3」。
  3. 在Code :: Blocks中打開您的項目。
  4. 轉到設置菜單,然後單擊「編譯器...」
  5. 切換到「搜索目錄」選項卡,然後選擇「編譯器」子選項卡。
  6. 單擊「添加」並瀏覽到開發庫的文件夾。您需要選擇是否在此開發32位應用程序或64位應用程序:如果要使用32位,則需要添加「\ i686-w64-mingw32 \ include」( 「D:\ Programming \ C++ \ SDL \ SDL2-2.0.3 \ i686-w64-mingw32 \ include」),而對於64位應用程序,您需要添加「\ x86_64-w64-mingw32 \ include」(「D :\編程\ C++ \ SDL \ SDL2-2.0.3 \ x86_64的-W64-的mingw32 \包括「)。
  7. 轉到「編譯器」選項卡旁邊的「鏈接器」選項卡。
  8. 單擊「添加」並瀏覽到您的開發庫文件夾。再次,根據您是要使用32位應用程序還是使用64位應用程序,添加「\ i686-w64-mingw32 \ lib」(「D:\ Programming \ C++ \ SDL \ SDL2-2.0.3 \\ 686-w64-mingw32 \ lib「)或」\ x86_64-w64-mingw32 \ lib「(」D:\ Programming \ C++ \ SDL \ SDL2-2.0.3 \ x86_64-w64-mingw32 \ lib「)。
  9. 取SDL運行時二進制文件(「D:\ Programming \ C++ \ SDL \ SDL2.dll」)並複製&將其粘貼到編譯後的EXE文件夾中。由於您使用的是Code :: Blocks,這通常是%PROJECT_FOLDER%\ Bin \%RELEASEMODE%,其中%PROJECT_FOLDER%是項目的路徑,%RELEASEMODE%是Debug或Release。
  10. 建立您的項目並驗證它是否有效。

如果需要,您也可以在每個項目的基礎上進行設置,而不是全局設置。只需進入項目菜單,然後點擊「Build options ...」,而不是步驟4中的設置菜單。

如果SDL在此之後仍然無法工作,我建議獲取更新的MinGW並確保代碼::塊已正確設置使用它。