banner
约 300 字
1 分钟

Clion 使用msys64 配置 SDL3

摘要

在 MSYS2 UCRT64 中安装 SDL3、编译器及 CMake 等环境,并配置 CLion 工具链。并生成简单窗口Demo测试SDL3环境。

1. 安装SDL3相关环境

打开 MSYS2 UCRT64 终端

执行环境安装命令

bash
pacman -S mingw-w64-ucrt-x86_64-sdl3 mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja

测试开发环境

bash
# 查看 GCC(GNU C 编译器)的版本
gcc --version

# 查看 CMake 的版本
cmake --version

# 查看 Ninja 的版本
ninja --version

2. 配置CLion工具链

设置 --> 构建、执行、部署 --> 工具链

Clion 工具链配置
Clion 工具链配置

3. 测试运行

3.1 配置 CMakeLists.txt

C++
cmake_minimum_required(VERSION 3.16)
project(game_demo_01)

set(CMAKE_CXX_STANDARD 26)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

find_package(SDL3 CONFIG REQUIRED)

add_executable(${PROJECT_NAME}
        src/main.cpp
)

target_link_libraries(game_demo_01
        PRIVATE
        SDL3::SDL3
)

if(WIN32)
    add_custom_command(TARGET game_demo_01 POST_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy_if_different
            "$<TARGET_FILE:SDL3::SDL3>"
            "$<TARGET_FILE_DIR:game_demo_01>"
    )
endif()

3.2 编写主程序

C++
#include <SDL3/SDL.h>

int main()
{
    if (!SDL_Init(SDL_INIT_VIDEO)) {
        SDL_Log("SDL_Init failed: %s", SDL_GetError());
        return 1;
    }

    SDL_Window* window = SDL_CreateWindow(
        "Minimal SDL3",
        800,
        600,
        0
    );

    if (window == nullptr) {
        SDL_Log("SDL_CreateWindow failed: %s", SDL_GetError());
        SDL_Quit();
        return 1;
    }

    SDL_Delay(2000);

    SDL_SetWindowTitle(window, "迷你游戏");


    SDL_Delay(2000);

    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}

最终效果为 出现一个 800x600 的黑色窗口,标题显示为 "Minimal SDL3" 等待 2秒 标题显示为 "迷你游戏" 再等待2秒窗口关闭。

END