原文地址: https://blog.csdn.net/JerryWu145/article/details/79411640
首先向雷神仑最,雷霄驊致敬雁歌。
上一篇文章中我們講到了sdl的配置,然后有些小伙伴說自己按照步驟一點一點配置,但是出了一些錯誤掖肋,然后也沒找到解決方案。
其實問題的原因是由于這個項目是從2010移植過來的赏参,2015的一些頭文件做了重新的編譯志笼,需要讓我們重新設(shè)置一下沿盅,所以本篇文章就是來說明下sdl庫配置的注意事項
當(dāng)然前提是你已經(jīng)把頭文件 、lib文件纫溃、dll文件已經(jīng)完成的考進(jìn)去了腰涧,并且做了如下設(shè)定,下面的一些截圖就是步驟:
1紊浩、將需要的頭文件窖铡、庫文件、dll文件復(fù)制到自己的項目中
2坊谁、配置相關(guān)信息
首先配置C/C++C--常規(guī)--附加包含目錄 配置成"include"
然后配置 鏈接器--常規(guī)--附加庫目錄 配置成"lib"
注意,是這三項
3费彼、頭部添加一些代碼
// sdl_player.cpp : 定義控制臺應(yīng)用程序的入口點。
//
#include "stdafx.h"
extern "C"{
#include "SDL2/SDL.h"
}
/*
* 當(dāng)libjpeg-turbo為vs2010編譯時口芍,vs2015下靜態(tài)鏈接libjpeg-turbo會鏈接出錯:找不到__iob_func,
* 增加__iob_func到__acrt_iob_func的轉(zhuǎn)換函數(shù)解決此問題,
* 當(dāng)libjpeg-turbo用vs2015編譯時敌买,不需要此補(bǔ)丁文件
*/
#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;
}
這樣,只要重新生成解決方案阶界,調(diào)試就可以了虹钮。