在进行编写SDL程序时,会出现很多意外情况,比较常见的问题有:
- 无法加载“SDL.h”,“No such file or directory ”
这应该是最常见的一类问题,原因是你SDL安装的有问题,比如说你的SDL头文件没有放到指定的位置,会引起系统无法找到头文件,你可以这样测试一下:
在包含的sdl.h上右键,点“go to Header file”如果能够转到sdl.h这个头文件,证明你sdl安装没问题,如果不能则要看一看是不是头文件加载的不对,如果你是按教程的第一种方式安装的SDL,应该这样加载头文件:#include <sdl\SDL.h> 注意这里<>里的字符区分大小写,如果你的SDL目录名是小写,你写成#include <SDL\SDL.h> 也会出现这种错误,如果是第二种可以直接写#include <SDL.h>或#include "SDL.h"。如果这样还解决不了问题,在源文件所在目录建立一个新文件夹SDL,那么把SDL头文件拷贝到该目录下,加载头文件这样写:#include "SDL\SDL.h"。应该可以解决问题
2.程序无法编译,无法找到SDL.dll
这种问题首先看看你是否将这些动态库放到了正确位置,第一种安装方式应该将这些动态库放到windows\system32下,第二种方式应该看看你的环境变量设置是否正确(请参照SDL安装)。如果都检查了没有问题,那么可以这样解决这个问题,比如说程序目录交event,打开程序目录,如果你编译过程序,在该目录下有一个debug目录,将所有动态库拷贝到这个目录下,重新编译就可以了。
如果静态库出了问题也可以做同样处理。
3.程序加载图片,但没有显示
在程序里加载了图片,但窗口里没显示,首先你在加载文件那一行加一个断点,看看是否加载到图片,也就是说加载完后图片表面为不为空,如果加载到了,图片表面不为空。如果为空则说明你的图片文件名传的的错误,看看文件名是否带后缀了,文件名必须有后缀,如果是绝对路径,比如说你要加载d盘根目录下test.bmp则文件名应该这样写:"d:\\test.bmp",在字符串里"\"代表转义字符,两个"\\"代表一个"\"。如果文件名正确,那就是你的文件格式有问题,换一副图片试试吧。
4.vs安装问题
如果vs安装路径有中文,则SDL编译会有问题,如果不是其他问题,那么请看看你的VS安装路径是否有问题。
本节会持续更新,会一一将遇到的问题在此列举。