SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用 C 语言写成。SDL 提供了数种控制图像、声音、输出入的函数。简单易用。这篇文章介绍一下我在 Windows 下 CLion 配置 SDL2 开发环境的方法。
配 SDL2 还是由于大一的 C 语言程序设计课设。由于我始终不愿意使用 EasyX,却由于 GLFW 太过复杂而担心无法完成作业
其实我的担心是多余的,以我的实力,根本不用担心,就是完不成所以采用了学
姐长 @HelloWorld 的建议,使用了 SDL。不过配置的过程中遇到了很多问题,在这里记录并分享一下。
环境:
- CLion 2020.3 Build 203.5981.166
- Windows10 20H2 19042.685
- MinGW-w64 GCC 8.1.0(x86_64-posix-seh-rev0)
- SDL2-2.0.12 [DEV]
SDL2 配置
下载 SDL2
打开 SDL 官网的下载页 LibSDL.org
下载 “Development Libraries” (开发版)中的 “Windows”->“MinGW 32/64-bit”
我下载的是“SDL2-devel-2.0.12-mingw.tar.gz”
(注:此链接不确保时效性,请去官网下载最新版本)
配置 SDL2
- 解压缩下载的 “SDL2-devel-2.0.12-mingw.tar.gz” ,将 “x86_64-w64-mingw32” 中的所有文件复制到你 MinGW-w64 的目录中。
如果你的 MinGW 是 i686 则复制"i686-w64-mingw32"中的所有文件。 (注:在终端中使用gcc -v
可以查看到 MinGW-w64 的版本) - 在项目目录下新建一个文件夹"SDL",将"include"中的"SDL2",复制到项目目录下"SDL"文件夹中
CMake 配置
新建
在 CLion 中点"文件"->“新建项目”,选择 C++(C 也可以)
配置
将"CMakeLists.txt"按照如下内容修改:
(注:文件的内容根据你的项目决定,一般来说不用修改默认生成的)
|
|
测试
在 “main.cpp” 中写入如下内容:
|
|
点击右上角的三角运行,如果出现
- 无法找到头文件:检查是否复制"include"和设置"include_directories(SDL)"
- 找不到WinMain:检查是否复制库。或者尝试调换"target_link_libraries(SDL2_Test mingw32 SDL2main SDL2)“中库的顺序
说明
- 有些同学可能很迷惑:为什么要把SDL扔进MinGW-w64的目录里面呢?因为我在外面的目录尝试的时候各种报错,后来看了 CSDN:CLion配置SDL2开发环境(Windows系统)。貌似把SDL扔进mingw目录就能解决。具体原因还有待深究。
- 其它方法:使用vcpkg可以安装,也可以使用CMake模块:
参考: