C++ SDL2配置
C++ SDL2配置
参考视频教程https://www.bilibili.com/video/BV1gs411X7zz?p=1
下载SDL2地址:http://www.libsdl.org/download-2.0.php中下载开发库,我这里下载的是vc版的。
新建一个控制台的项目。将加压后的include目录和lib目录拷贝到项目目录下。
属性页配置:
- 配置属性——》VC++目录——》包含目录添加.\include
- 配置属性——》VC++目录——》库目录添加.\lib\x86
- 配置属性——》链接器——》输入——》附加依赖项添加SDL2main.lib和SDL2.lib
注意主函数的修改为如下,否则会报错:
int main(int argc, char* argv[])
{
return 0;
}
显示窗体程序:
#include <iostream>
#include<SDL.h>
using namespace std;
int main(int argc, char* argv[])
{
::SDL_Init(SDL_INIT_VIDEO);//初始化SDL
::SDL_Window* window = ::SDL_CreateWindow("SDL test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
800, 600, SDL_WINDOW_SHOWN);//创建窗体
::SDL_Delay(3000);//延时显示窗体
::SDL_DestroyWindow(window);//销毁窗体
::SDL_Quit();//退出SDL
getchar();
return 0;
}
注意运行的时候,需要将对应的x86下的SDL2.dll拷贝到运行目录
下面是显示图片的例子:
#include <iostream>
#include<SDL.h>
using namespace std;
int main(int argc, char* argv[])
{
::SDL_Init(SDL_INIT_VIDEO);//初始化SDL
::SDL_Window* window = ::SDL_CreateWindow("SDL test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
800, 600, SDL_WINDOW_SHOWN);//创建窗体
::SDL_Surface* surface = ::SDL_GetWindowSurface(window);//得到窗体的SDL_Surface
::SDL_Surface* image = ::SDL_LoadBMP("1.bmp");//加载图片
::SDL_BlitSurface(image, nullptr, surface, nullptr);//把图片贴到窗体上
::SDL_UpdateWindowSurface(window);//刷新窗口,不调用则显示不了图片。
::SDL_Delay(3000);//延时显示窗体
::SDL_DestroyWindow(window);//销毁窗体
::SDL_Quit();//退出SDL
getchar();
return 0;
}