写给信息学竞赛选手的趣味编程 基于DevC++的SDL2图形程序设计(-)环境搭建篇

系列文章目录

`



前言

大部分玩信息学竞赛的朋友使用DevCPP集成开发环境(IDE)进行程序设计。这个IDE操作简单,实现功能也比较简单,应对类似控制台输入输出的各种竞赛算法实现绰绰有余,但对于动画、游戏等图形程序设计实现略显单薄。而很多同学希望通过图形编程增加在信息学竞赛学习中的趣味性。该如何做呢?本系列文章介绍了在DevCPP环境下安装SDL功能库实现图形编程的过程。

一、SDL是什么?

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。目前SDL分为SDL1.x和SDL2.x两个版本。本文选择SDL2版+DevC++64位版进行讲解。安装包地址如下:
链接:https://pan.baidu.com/s/1mE5Kg8dnTdEJsYn-eUIoZQ
提取码:17y1
为了方便后续操作,笔者在自定义的SDL2的安装包中已经封装了SDL2_image,SDL2_ttf和SDL2_net等3个第三方扩展库。

二、DevC++环境搭建

1.DevC++的安装

(1)检查DevCPP的版本

DevCPP有32位版和64位版之分。可以通过DevCPP的“工具”菜单->"编译器选项"查看。在“设定编译器配置”中查看是否有64-bitRelease的编译器配置。如下图所示,如果有那么恭喜您可以进行第2步了。如果没有也不要紧,需要先通过控制面板卸载原有的32bitDevC++再安装64bit版。
图1-1 检查DevC++版本

(2)卸载32位版DevC++

打开 控制面板->程序->卸载程序,双击DevC++图标进行卸载,如下图所示。注意卸载后建议重启计算机后安装。
图1- 2卸载32位版DevC++

(3)安装64位版DevC++

重启计算机后安装64位版DevC++。建议安装在D盘或E盘。如下图所示。如下图所示。

图1- 3安装64位版DevC++
安装后如果在安装路径下发现有MinGW64文件夹。恭喜您搞定了!
图1- 4安装64位后的效果

2.SDL安装包设置

(1)解压缩SDL2包

SDL2不需要安装直接将压缩包复制到想要的位置解压缩即可。为便于后续操作建议放在D盘根目录。如图所示。
图1- 5在指定位置解压缩SDL2

(2)对运行时库进行操作

在自定义的SDL2中有一个RunTimes文件夹,该文件夹中存放了在程序运行时需要加载的动态链接库——dll文件,如下图所示。该文件夹的所有文件可以在每次编写程序时复制到图形化程序的目录中,也可以复制到windows/system32文件夹下。建议采用后者一劳永逸。注意是要复制文件不是复制文件夹。

图1- 6运行时库文件

(3)系统环境变量添加SDL路径

在此电脑上单击鼠标右键,弹出快捷菜单选择“属性”,在“设置“对话框的”系统—>系统信息“中选择“高级系统设置”在弹出的“系统属性”对话框中选择“环境变量‘。如图所示。(由于win7/win10/win11等操作系统不同可能操作略有不同)
图1- 7打开环境变量
在环境变量对话框中选择系统变量的path变量,单击“编辑“,分别添加”SDL2-devel-2.0.22-mingw\x86_64-w64-mingw32 “文件夹下的bin和lib文件夹。
图1- 8系统环境变量设置

3.DevC++环境设置

打开DevC++,选择“工具“菜单->“编译选项”菜单项,启动“编译器选项“对话框。共进行五步操作,说明如下。
第一步:在”编译器“标签的”在连接器命令行加入以下命令“中复制如下命令:
-static-libgcc -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_net
如图所示。
图1- 9DevC++配置1
第二步:在”目录“标签的”二进制“标签项中加入SDL2的64位版bin目录。如图所示。
图1- 10 DevC++配置2
第三步:在”目录“标签的”库“标签项中加入SDL2的64位版lib目录。方法同上,如图所示。
图1- 11 DevC++配置3
第四步:在”目录“标签的”C包含文件“标签项中加入SDL2的64位版include/sdl2目录。方法同上,如图所示。
图1- 12 DevC++配置4
第五步:在”目录“标签的”C++包含文件“标签项中加入SDL2的64位版include/sdl2目录。方法同上,如图所示。
图1- 13 DevC++配置5
单击“确定“按钮后,DevC++环境设置完成。自此SDL环境也搭建完成了。我们可以测试一下。

4.程序测试

代码如下(示例):

1.	#include <SDL.h>
2.	#include <iostream>
3.	//由于SDL内部重定义了main, main函数一定得是这个形式.
4.	int main(int argc, char * argv[]){
5.	    // 初始化SDL初始化失败,打出错误
6.	     if((SDL_Init(SDL_INIT_EVERYTHING)== -1))
7.	         printf("不能初始化SDL");
8.	    else  printf("SDL初始化成功!");
9.	     // 结束SDL
10.	     SDL_Quit();
11.	     getchar();
12.	     return 0;
13.	}

程序输出如下图所示:
图1- 14测试程序输出


总结

以上就是今天要讲的内容,简单介绍了基于SDL2的DevCPP环境搭建。注意要严格按步骤执行,否则有可能程序出错。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值