Clion配置SDL2开发环境(Windows系统)

参考文章:https://blog.csdn.net/zhying719/article/details/104549224

简单记录一下Windows系统下,Clion配置SDL2开发环境过程。
环境: Windows 7系统/Clion 2019.3.4/x86_64-w64-mingw32(version8.1.0)/SDL2-2.0.12

mingw32下载地址:x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z, 这里我选择的是x86_64-posix-seh,POSIX标准下seh Exception Library的包。SDL2到官网下载即可。

1.打开Clion后,首先配置一下mingw。依次打开File -> Settings -> Build,Execution,Deployment -> Toolchains,填入gcc, g++, cmake, gdb等命令的路径。
config toolchains
2.创建project后,需要关联SDL2库。这里主要是CMakeList.txt文件的配置。

cmake_minimum_required(VERSION 3.15)
project(ExampleClion)

set(CMAKE_CXX_STANDARD 11)

# 声明一个变量SDL2_DIR为SDL2安装路径
set(SDL2_DIR D:/Code/ClionPro/SDL2-2.0.12/x86_64-w64-mingw32)
# 设置要包含的头文件的路径
include_directories(${SDL2_DIR}/include)
# 设置要关联的库的路径
link_directories(${SDL2_DIR}/bin)

add_executable(ExampleClion main.cpp)

target_link_libraries(ExampleClion mingw32 SDL2 SDL2main)

在此注意两点:
1)target_link_libraries中,最好按照mingw32 SDL2 SDL2main顺序做链接。
2)SDL2.dll路径是在它的bin目录下,而不是lib目录。

3.此时,Reload changes没有问题,但build project还是会有link错误。Then,找到安装的SDL2-2.0.12/x86_64-w64-mingw32路径,将其bin,include,lib,share目录中的内容拷贝到mingw32的对应目录中。这样一来,链接时候就不会报错。

### 编译 SDL_gfx 库用于 Android 平台 为了在 Android 上成功编译并集成 `SDL_gfx` 库,开发者需遵循一系列特定配置流程。此过程涉及设置环境变量、调整 CMakeLists.txt 文件以及处理必要的依赖项。 #### 准备工作 确保已安装最新版本的 Android Studio 和 NDK 工具链。此外,还需下载官方发布的 SDL2 及其附加组件 `SDL_gfx` 的源码包[^1]。 #### 创建项目结构 创建一个新的 Native Activity 项目,在项目的根目录下放置解压后的 SDL2 和 `SDL_gfx` 源文件夹。通常情况下,这些资源会被放在 `app/src/main/cpp/` 路径之下。 #### 修改 CMakeLists.txt 编辑位于 `app/CMakeLists.txt` 中的内容来包含对 `SDL_gfx` 的支持: ```cmake # 添加 SDL 主要库路径 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../cpp/SDL ${CMAKE_CURRENT_BINARY_DIR}/SDL) # 定义 SDL_gfx 子模块位置 set(SDL_GFX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cpp/SDL_gfx") # 将 SDL_gfx 加入构建目标 add_subdirectory(${SDL_GFX_PATH} ${CMAKE_CURRENT_BINARY_DIR}/SDL_gfx) ``` 上述命令会告知 CMake 如何找到并编译 `SDL_gfx` 模块中的代码。 #### 更新 build.gradle (Module: app) 确认 `build.gradle` 文件内启用了外部原生构建工具的支持,并指定了正确的 ABI 过滤器以减少不必要的架构组合: ```gradle externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.18.1" // 或者更高版本 } } defaultConfig { ... externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared", "-DSDL_INCLUDE_DIRS=${file('src/main/cpp/SDL/include')}" abiFilters 'armeabi-v7a', 'arm64-v8a' } } } ``` 通过这种方式可以保证只针对选定的目标设备体系结构进行优化过的二进制文件生成操作。 完成以上步骤之后同步 Gradle 文件即可让 Android Studio 自动检测新加入的静态库并将它们链接至应用程序中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值