SDL3 游戏开发 Windows 环境搭建

一、准备工作

1.1 必备工具与库安装

1.1.1 CMake
  • 官网下载:访问 CMake 官方网站,根据操作系统选择相应版本进行下载。
  • 安装步骤
    • 运行安装程序,选择安装路径。
    • 在安装过程中,勾选 “Add CMake to the system PATH” 选项,确保 CMake 添加到系统路径。或者手动添加到系统环境变量 PATH 中。
    • 完成安装后,在终端中输入 cmake --version 验证安装是否成功。
1.1.2 MinGW-w64
  • 版本选择MinGW 官网地址,MinGW-W64-builds,下载最新版本(x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev1)。
  • 安装步骤
    • 解压下载的文件到指定目录,例如 C:\mingw64
    • C:\mingw64\bin 添加到系统环境变量 PATH 中。
    • 在终端中输入 g++ --version 验证安装是否成功。
1.1.3 Ninja
  • 官网获取:访问 Ninja 官方网站,下载最新版本的 Ninja。
  • 安装步骤
    • 将下载的 Ninja 文件解压到指定目录,例如 C:\ninja
    • C:\ninja 添加到系统环境变量 PATH 中。
    • 在终端中输入 ninja --version 验证安装是否成功。
1.1.4 Git
  • 官网安装:访问 Git 官方网站,下载并安装官方版本。
  • 安装步骤
    • 运行安装程序,选择安装路径。
    • 在安装过程中,选择 “Use Git from the Windows Command Prompt” 选项,以便在终端中使用 Git。
    • 完成安装后,在终端中输入 git --version 验证安装是否成功。
1.1.5 SDL3 及扩展库
  • SDL3 下载:查看最新版本的SDL库:SDL
  • 安装步骤
    • 方法一:下载源码编译:下载最新版本的源码压缩包,解压源码文件,使用 CMake 配置项目,运行编译命令,生成 SDL 库文件。
    • 方法二:下载 devel-vc 的压缩包解压:将下载的 SDL3 devel-vc 版本压缩包解压至 C:\myProjects\Library\SDL3
    • 将库文件夹 C:\myProjects\Library\SDL3\lib\x64 添加到系统环境变量 PATH 中。
  • 注意
    • 头文件和库文件路径:在游戏项目中配置CMakeLists.txt时,确保正确指定SDL3的头文件(include)和库文件(lib)路径。如果使用find_package,则需要确保SDL3的cmake目录路径正确。
  • 扩展库安装:根据项目需求,选择安装 SDL_imageSDL_mixerSDL_ttfGLM。这些库可以从各自的官方网站或开源平台下载,并按照官方文档进行安装和配置。
1.1.6 VSCode 及插件
  • 安装 VSCode:访问 Visual Studio Code 官方网站,下载并安装最新版本。
  • 安装插件:打开 VSCode,点击左侧活动栏中的扩展视图,搜索并安装 “C/C++ Extension Pack”。
    • 在编译器下面状态栏显示CMake Status Bar:设置->cmake Status Bar->Visible。
    • 选择合适的编译器工具链:可以通过Ctrl + Shift + P调出命令面板,输入CMake: Select a Kit来选择合适的编译器工具链。

二、配置VSCode项目并验证环境

2.1 创建测试源文件

C:\myProjects\gameDamo 目录下创建 main.cpp 文件,编写一个简单的 SDL3 测试程序,用于验证环境配置是否正确。该程序将初始化 SDL、创建一个窗口,以确保 SDL3 库能够正常工作。

#include <SDL3/SDL.h>

int main(int argc, char* argv[]) {
    // 初始化SDL
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        SDL_Log("Unable to initialize SDL: %s", SDL_GetError());
        return -1;
    }

    // 创建窗口
    SDL_Window* window = SDL_CreateWindow("SDL3 Test", 640, 480, SDL_WINDOW_OPENGL);
    if (!window) {
        SDL_Log("Unable to create window: %s", SDL_GetError());
        SDL_Quit();
        return -1;
    }

    // 主循环
    bool running = true;
    while (running) {
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_EVENT_QUIT) {
                running = false;
            }
        }
    }

    // 释放资源
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}

2.2 编写CMakeLists.txt文件和CMakePresets.json

2.2.1 使用VSCode的CMake Quick Start

VSCode的CMake Tools扩展提供了快速开始功能,可以自动生成CMakeLists.txtCMakePresets.json文件。通过以下步骤创建项目:

  1. 打开VSCode,进入项目目录C:\myProjects\gameDamo
  2. Ctrl + Shift + P,调出命令面板。
  3. 输入CMake: Quick Start,选择它。
  4. 按提示填写项目名称、语言等信息,VSCode将自动生成CMakeLists.txtCMakePresets.json文件。
2.2.2 手动编写CMakeLists.txt文件

VSCode的CMake Quick Start自动生成CMakeLists.txt文件,只是生成了一个默认的模板文件,需要手动编写CMakeLists.txt文件,指定SDL3的头文件、库文件路径和链接SDL3库:

cmake_minimum_required(VERSION 3.10.0)
project(gameDamo VERSION 0.1.0 LANGUAGES C CXX)

# 指定SDL3的头文件路径
include_directories("C:\\myProjects\\Library\\SDL3\\include")
# 指定SDL3的库文件路径
link_directories("C:\\myProjects\\Library\\SDL3\\lib\\x64")

# 添加可执行文件
add_executable(gameDamo main.cpp)

# 链接SDL3库
target_link_libraries(gameDamo SDL3)

除了前面提到的写法,CMakeLists.txt也可以这样写,如果库里有cmake文件夹,使用find_package来指定路径和查找SDL3库:

cmake_minimum_required(VERSION 3.10.0)
project(gameDamo VERSION 0.1.0 LANGUAGES C CXX)

# 设置SDL3的CMake模块路径
set(SDL3_DIR "C:/myProjects/Library/SDL3/cmake")
# 查找SDL3库
find_package(SDL3 REQUIRED)

# 添加可执行文件
add_executable(gameDamo main.cpp)

# 链接SDL3库
target_link_libraries(gameDamo SDL3::SDL3)
2.2.3 手动编写CMakePresets.json文件

VSCode的CMake Tools扩展会自动生成CMakePresets.json文件,其中定义了项目的构建配置。默认情况下,它会设置生成器、构建目录等参数。如果需要自定义配置,可以手动编辑该文件。

{
    "version": 8,
    "configurePresets": [
        {
            "name": "Configure preset using toolchain file",
            "displayName": "Configure preset using toolchain file",
            "description": "Sets Ninja generator, build and install directory",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "CMAKE_TOOLCHAIN_FILE": "",
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
            }
        }
    ]
}

2.3 编译

在VSCode中,可以通过CMake Status Bar直接编译项目。点击CMake Status Bar中的“Build”按钮,CMake Tools会自动根据CMakeLists.txtCMakePresets.json文件的配置进行构建。

2.4 运行

编译成功后,可以通过CMake Status Bar直接运行程序。点击“Run”按钮,VSCode会自动启动生成的可执行文件。
在这里插入图片描述

2.5 常见问题

  • VSCode不识别SDL头文件
    • 如果VSCode无法识别SDL.h,可以先按Ctrl + Shift + P调出面板,查找并点选“C/C++:选择IntelliSense配置”,然后选择“使用CMake Tools”。
    • 如果没有立刻生效,可以尝试刷新或重启VSCode。

总结

通过上述步骤,可以系统地完成SDL3游戏开发环境的搭建。从安装必备工具和库,到配置VSCode项目并验证环境,每一步都详细说明了操作方法和注意事项。这些步骤确保了开发环境的正确配置,为后续的游戏开发提供了坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值