原文地址: https://blog.csdn.net/JerryWu145/article/details/79411640
首先向雷神,雷霄骅致敬。
上一篇文章中我们讲到了sdl的配置,然后有些小伙伴说自己按照步骤一点一点配置,但是出了一些错误,然后也没找到解决方案。
其实问题的原因是由于这个项目是从2010移植过来的,2015的一些头文件做了重新的编译,需要让我们重新设置一下,所以本篇文章就是来说明下sdl库配置的注意事项
当然前提是你已经把头文件 、lib文件、dll文件已经完成的考进去了,并且做了如下设定,下面的一些截图就是步骤:
1、将需要的头文件、库文件、dll文件复制到自己的项目中
2、配置相关信息
首先配置C/C++C--常规--附加包含目录 配置成"include"
然后配置 链接器--常规--附加库目录 配置成"lib"
注意,是这三项
3、头部添加一些代码
// sdl_player.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
extern "C"{
#include "SDL2/SDL.h"
}
/*
* 当libjpeg-turbo为vs2010编译时,vs2015下静态链接libjpeg-turbo会链接出错:找不到__iob_func,
* 增加__iob_func到__acrt_iob_func的转换函数解决此问题,
* 当libjpeg-turbo用vs2015编译时,不需要此补丁文件
*/
#if _MSC_VER>=1900
#include "stdio.h"
_ACRTIMP_ALT FILE* __cdecl __acrt_iob_func (unsigned);
#ifdef __cplusplus
extern "C"
#endif
FILE* __cdecl __iob_func(unsigned i) {
return __acrt_iob_func(i);
}
#endif /* _MSC_VER>=1900 */
int main(int argc,char* argv[])
{
if (SDL_Init(SDL_INIT_VIDEO)) {
printf("Could not initialize SDL -%s\n", SDL_GetError());
}
else {
printf("Success init sdl");
}
return 0;
}
这样,只要重新生成解决方案,调试就可以了。