在VS 2022中配置SDL2环境(C/C++)

步骤

  1. 在SDL官网下载所需要的文件对应的格式。
  2. 将文件解压缩后进行重新组合,方便后续操作(在需要多个扩展库的情况下)。
  3. 在VS 2022中创建项目,并开始配环境。

一、在官网下载文件

官网的GitHub网址如下:

Simple Directmedia Layer · GitHub

在红色方框处选择需要的文件,如SDL,SDL_ttf等。

点进去后点击Releases下面的最新版本。

VS所需要的版本是VC后缀的,选择红框内的版本进行下载。

二、文件解压缩和重组

本文以下载SDL,SDL_ttf(处理文字字体),SDL_Iimage(处理图像),SDL_mixer(处理音频混合)为例进行重组演示。

需要注意的是,在步骤三进入VS实际配环境的过程中,需要用到的文件夹主要有两个,分别是include和lib。include里面是SDL的头文件,(例如 SDL.hSDL_image.hSDL_ttf.h 等)。这些头文件中声明了 SDL 提供的函数、结构体和常量。lib里面则是SDL的库文件,这些文件包含了 SDL 的实现代码。

由于需要的扩展库有多个,每一个扩展库文件解压缩完成后都有一个include和lib,因此最好将其整合到一个文件夹中,方便第三步的操作和之后的查找。注意文件层级的清晰,每一级都需要正确的命名。

图示为include的重组示例,lib同理。

三、正式进入VS来配置环境。

先创建一个新的cpp项目,可以用绿框中的头文件来提示最终配置环境是否成功,没有配置之前会显示报错。

点击红框中的项目,选择最后一个属性选项。

VS中无需配置环境变量,只有四个地方需要改变。在进行之前,先将平台改成x64。

第一处和第二处:VC++目录中的包含目录和库目录,点击编辑,将包含目录改成include的内存地址,库目录改成lib的内存地址。

内存地址复制这一栏即可(lib同理)。

第三处和第四处:都在链接器中,首先选择常规,更改附加库目录为lib的内存地址。然后选择输入,添加附加依赖项,这里可以填入SDL2.lib,SDL2_mixer.lib等,但有可能会之后写程序的时候会报错系统找不到SDL2.lib,如果出现这类错误,可以把名字改成每一项对应的内存地址,如xxx\SDL2\lib\SDL2.lib,注意最后一项是文件中的实际名字,如果不对应该根据实际名字修改。

完成四项修改后,配置环境就正式完成,头文件不再出现报错则为成功。

### 如何在 Dev-C++ 中配置 SDL2 开发环境 #### 下载必要的文件 对于想要在 Dev-C++ 上使用 SDL2 进行开发的开发者来说,首先需要获取适用于 Windows 平台的 SDL2 Development Libraries 文件包。通常可以从官方网站找到名为 `SDL2-devel-<version>-mingw.tar.gz` 的压缩包[^1]。 #### 解压并安装库文件 解压下载好的 tar.gz 文件到一个容易访问的位置,比如 C:\SDL2\。该目录下会有一个名为 include 的子文件夹用于存放头文件,还有一个 lib 子文件夹用来保存静态链接库(.a)以及动态链接库(.dll)。 #### 设置 Dev-C++ 项目属性 打开或创建一个新的控制台应用程序,在项目的选项设置里做如下调整: ##### 编译器设置 - 添加包含路径:转至 **Project Options -> Parameters -> Add directory** ,输入刚才解压出来的 SDL2 安装位置下的 include 路径 (例如:C:\SDL2\include),这一步是为了让编译器知道去哪里寻找 SDL 头文件。 ##### 链接器设置 - 添加库路径:同样是在 **Parameters** 页面中点击 **Add library or object** 按钮,加入上述提到的 lib 目录中的 .a 库文件(如 `-lmingw32 -lSDL2main -lSDL2`)。注意顺序很重要,先 mingw32 后其他依赖项。 ```cpp // 测试程序以验证配置是否成功 #include <SDL.h> #include <iostream> int main(int argc, char* args[]) { if(SDL_Init(SDL_INIT_VIDEO) != 0){ std::cout << "Unable to initialize SDL: %s\n" << SDL_GetError(); return 1; } SDL_Window *win = SDL_CreateWindow("Test Window", // window title 100, // initial x position 100, // initial y position 640, // width, in pixels 480, // height, in pixels SDL_WINDOW_SHOWN); if(win == nullptr){ std::cout << "Could not create window: %s\n" << SDL_GetError(); SDL_Quit(); return 1; } SDL_Delay(5000); // Wait 5 seconds SDL_DestroyWindow(win); SDL_Quitch(); } ``` 确保运行此测试代码之前已经将 SDL2.dll 放入可执行文件所在的同一目录内或是系统的 PATH 环境变量所指向的一个公共位置上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值