不以物喜,不以己悲

C++ SDL2配置

C++ SDL2配置

参考视频教程https://www.bilibili.com/video/BV1gs411X7zz?p=1

下载SDL2地址:http://www.libsdl.org/download-2.0.php中下载开发库,我这里下载的是vc版的。

新建一个控制台的项目。将加压后的include目录和lib目录拷贝到项目目录下。

属性页配置:

  1. 配置属性——》VC++目录——》包含目录添加.\include
  2. 配置属性——》VC++目录——》库目录添加.\lib\x86
  3. 配置属性——》链接器——》输入——》附加依赖项添加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;
}
posted @ 2021-03-10 20:31  这种人  阅读(1204)  评论(0编辑  收藏  举报