如何在程序中正确使用 SDL2
设置 SDL2 可能很棘手,尤其是对于初学者而言。本文旨在为使用 MinGW 在 Windows 中使用 SDL2 时遇到的常见问题提供全面的解决方案。
常见错误
- SDL.h: No such文件或目录(编译期间)
- 对 SDL_main 的未定义引用(编译期间或链接)
- 对其他函数的未定义引用(链接期间)
- DLL 问题(运行时)
解决常见错误的步骤
1。 SDL.h:没有这样的文件或目录
- 将 -Ipath 添加到编译器标志,其中“path”是包含 SDL.h 的目录。
- 例如: -IC:/Users/您的用户名/Downloads/SDL2-devel-2.0.x-mingw.tar.gz/x86_64-w64-mingw32/include/SDL2
2.对 SDL_main 的未定义引用
- 确保您的 main 函数声明为 int main(int, char **),而不是 int main() 或 void main()。
- 删除 #define SDL_MAIN_HANDLED 或 #undef主要。
3.对其他函数的未定义引用
-
添加以下链接器标志:
- -lmingw32
- -lSDL2main
- -lSDL2
- -Lpath(其中“path”是包含 libSDL2.dll 的目录。一个和libSDL2main.a)
- 确保您对 SDL2 文件使用正确的架构(32 位或 64 位)。
4 。 DLL 问题
- 请参阅提供的答案中的“DLL 问题”部分以获取详细的调试说明。
额外提示
隐藏控制台window
使用自定义窗口图标
- 为您的图标创建一个 .ico 文件。
- 创建一个 .rc文件(例如 icon.rc)包含以下内容: MyIconName ICON "icon.ico"。
- 使用 Windres 将 .rc 文件转换为 .o 文件。
- 指定 .o链接时的文件(例如,g foo.cpp icon.o -o foo.exe)。
以上是如何修复 MinGW 中常见的 SDL2 编译和链接错误?的详细内容。更多信息请关注PHP中文网其他相关文章!