您的位置:首页 > 其它

在Win8 CodeBlocks上配置SDL2

2016-01-03 18:28 411 查看
已经被SDL2各种安装失败逼疯了,刚刚终于成功了!写篇博客以示后人!

下载的CodeBlocks来自这个网站 http://www.codeblocks.org/downloads/26 选择的是codeblocks-13.12mingw-setup.exe这个版本

SDL2的下载来自这个网站http://www.libsdl.org/release/ 我选择的是SDL2-devel-2.0.4-mingw.tar.gz这个版本。

都下载好之后,先安装CodeBlocks。如果之前安装过,那么去C:\Users\你的用户名\AppData\Roaming下面找CodeBlocks这个文件夹然后直接删掉。这样会丢失之前的Layout配置和编译器配置。(不过也是反复安装尝试过程中还原回0的最快方法)

这里,我把CB安装到了D:\Program Files (x86)\CodeBlocks

解压SDL2安装包,假设解压后路径是D:\Program Files (x86)\CodeBlocks\SDL2-devel-2.0.4-mingw,那么直接把D:\Program Files (x86)\CodeBlocks\SDL2-devel-2.0.4-mingw\SDL2-2.0.4\include文件夹下所有内容复制到D:\Program Files (x86)\CodeBlocks\MinGW\include下,接下来复制D:\Program Files (x86)\CodeBlocks\SDL2-devel-2.0.4-mingw\SDL2-2.0.4\lib\x86文件夹下所有内容到D:\Program
Files (x86)\CodeBlocks\MinGW\lib。要注意的是,这里SDL2.dll不复制,而是复制到C:\Windows下(网上好多人说这样会引起什么什么的,顾虑太多反而没办法安装成功)

好的,只差最后一步了:打开CB,选Settings->Compiler,左面三个大图标里面选第一个,右边选项卡选Linker Settings,然后在Other Linker options里面加上-lSDL2 -lSDL2main -lSDL2test

下面是从网上找的一段测试代码,不出意外的话 (没有意外)以下代码输出的是

SDL initialize ok!


#include <SDL.h>
#include <stdio.h>

#undef main
// 由于SDL内部重定义了main, main函数一定得是这个形式,具体为何,后面详细说明
int main(int argc, char * argv[])
{
// 初始化SDL
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)== -1))
{
// 初始化失败,打出错误,注意SDL_GetError返回一个字符串,可读性很好,是不是?
printf("Could not initialize SDL: %s.\n", SDL_GetError());
}
else
{
printf("SDL initialize ok!");
}
// 结束SDL
SDL_Quit();
getchar();
return 0;
}


网上乱七八糟的教程太坑了= =搞了三四个小时一点进展没有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: