sdl设置窗口的问题

时间:2014-04-11 14:41:44

标签: c++ sdl

我是c ++游戏开发的初学者。我试着在代码块上设置sdl库;我按照我在Google上找到的每个教程,但无法让它工作。我还包括SDL2_image-2.0.0和SDL2_mixer-2.0.0,但它无法正常工作。错误是:

#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>

我的代码出了什么问题?

1 个答案:

答案 0 :(得分: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” \ i686-w64-mingw32 \ lib“)或”\ x86_64-w64-mingw32 \ lib“(”D:\ Programming \ C ++ \ SDL \ SDL2-2.0.3 \ x86_64-w64-mingw32 \ lib“)。< / LI>
  9. 获取SDL运行时二进制文件(“D:\ Programming \ C ++ \ SDL \ SDL2.dll”)并复制&amp;将它粘贴到您编译的EXE最终会进入的文件夹中。由于您使用的是Code :: Blocks,这通常是%PROJECT_FOLDER%\ Bin \%RELEASEMODE%,其中%PROJECT_FOLDER%是项目的路径,%RELEASEMODE %是Debug或Release。
  10. 构建项目并验证其是否有效。
  11. 如果需要,您也可以基于每个项目而不是全局来设置。只需进入项目菜单,然后单击“构建选项...”,而不是步骤4中的“设置”菜单。

    如果SDL在此之后仍无效,我建议更新MinGW并确保Code :: Blocks正确设置为使用它。