专栏: EGE专栏
上一篇:(一)EGE入门教程
下一篇:(三)EGE基础教程 上篇
目录
一、EGE图形库的配置
参考自 :EGE官网 安装&配置
1. 讲解的IDE
本文中讲解的IDE包含以下几种:
| MSVC | GCC | CMAKE | |||||
| 集成开发环境 | Visual Studio | CodeBlocks | DevC++ | Visual Studio Code | Eclipse IDE for C/C++ | C-Free | CLion |
除此之外还讲解命令行下如何使用GCC编译EGE项目。
2. 配置信息速览
2.1 GCC链接参数
64位
-lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
32位
-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
2.2 链接的库
64位
libgraphics64.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a
32位
libgraphics.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a
2.3 测试示例
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
3. 配置失败时询问
如果安装失败,可以进EGE官方群 询问。
注意主动展示配置信息 (头文件路径,库文件路径,链接参数)

4. 当前EGE版本:20.08
EGE版本的命名方式是:年份后两位+月份。

4.1 安装配置的变化
由于新版有点小改动,所以在安装配置方面,20.08版本和19.01版本有点不同,列举如下:
用于VS的库文件名去掉了VS版本号
如:原来用于 VS2019 的 graphics1964.lib 库文件 改为 graphics64.lib,去掉了与 VS 版本相关的 19。
左为 20.08 版本,右为19.01版本。
| EGE19.01 | EGE20.08 | |
|---|---|---|
| 库文件名 | ![]() |
![]() |
直接适配的 IDE 增多
根据自己安装的写代码软件选择对应的安装包。

移除了内置的gdiplus库
20.08版本去掉了内置 gdiplus 库,所有链接参数必须带上 -lgdiplus,或者添加gdiplus.a 到链接库目录里面。(之前 19.01版本 已经内置 gdiplus,可加可不加。)
新版之前安装过旧版的,只需要对旧文件进行替换即可,或者修改包含目录和库目录
二、EGE安装包下载
1. EGE官网 站内下载
官网下载地址:https://xege.org/install_and_config

2. EGE官网 百度网盘下载:

3. 安装包注意事项
EGE20.08中只有一个 ege20.08_all 安装包,lib子文件夹中已包含由各IDE附带的编译器编译出的库文件。

先解压安装包,打开安装包内的include目录。
如果 include文件夹 中没有 graphics.h 头文件,那就是某次上传文件时遗漏了。可以下载19.01版本的EGE安装包,把 graphics.h 文件复制进去。


三、安装
EGE图形库需要根据自己的编译器来进行安装,下面仅对VS2017 、CodeBlocks、DevC++、C-Free、VS Code、Eclipse for C/C++这些较为常用的编译器进行介绍,其余的自行参考。
如果按照下面的步骤安装不成功,可以找找其他人的安装教程试试,可能与EGE版本、编译器版本、个人电脑等有关。
1. 安装步骤简要介绍
2. Visual Studio配置EGE
Visual Studio配置只需将EGE安装包中的文件放置到正确位置即可
2.1 EGE安装包目录与VS目录对应说明
VS安装EGE,主要是将安装包中 include 文件夹中的头文件和 lib文件夹中的库文件,复制到VS安装目录中对应的位置。
头文件只需复制一份,而64位和32位的平台则需要不同的库。

下图表示对应关系,左边是VS的目录,右边是EGE安装包目录。将右边 include目录里面的 所有文件(不是复制include文件夹)直接复制粘贴到左边include目录中,将右边x64 和 x86中的文件同样复制粘贴到对应文件夹里。

2.2 EGE库的配置
2.2.1 VS安装目录的查找
可以通过桌面快捷方式,右键选择打开文件所在位置,找到Visual Studio的安装目录。

打开后Visual Studio 快捷方式所在的目录如下所示 (注意,每个人安装目录目录并不一致,如果不同,不用在意),然后我们点击一下上方的地址栏中的 Professional(专业版)或Community(社区版),进行跳转。

跳转后就来了Professional 或 Community目录,VC文件夹就包含了Visual Studio的C++编译器相关文件。

2.2.2 VS的include目录和lib目录的查找
参考路径:
\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726
先点击 Community(社区版) 或 Professional(专业版)

然后找到 VC 目录
VS2017社区版 的 VC目录

VS2019专业版 的 VC 目录

再进入下面标红的目录,可以看到有 include 和 lib 这两个文件夹。
(注:在MSVC目录里有个 以数字命名 的文件下
(如,下图里是14.26.28801),如果有多个的情况下,进入到 数字最大 的那个文件夹)。(这里面是VS各个版本的库,如果多于1个,属于更新后旧版本的遗留,小版本号的可以删了)

- include目录中的内容

③ 打开EGE安装包
将EGE安装包中的include目录中的所有文件,全选,复制粘贴到刚才的VS2017的include目录下(那个txt文件就不用复制了)
如果EGE安装包中没有 graphics.h文件,可以下载19.01版本的EGE安装包,把graphics.h文件复制进去,这个文件在发布时漏了。

下面是复制好的例子。(注意不要把EGE安装包中的include文件夹复制进来)

头文件的复制就完成了,现在到复制 lib 文件。
④ 找到VS2017安装位置中的lib目录(就在include的旁边)

(如下图)进lib目录将会看到x64 和x86两个文件夹,x64是64位,x86是32位的

2.2.3 lib库文件的复制
在EGE安装包中找到 lib 文件夹,将里面 x64 文件夹和 x86 文件夹内的库文件复制粘贴到 VS2017 lib目录的对应位置。
x64和x86的lib文件是不同的,需要放到对应的文件中,不然链接时就找不到lib文件了。
graphics.lib是x86文件夹中的,也就是32位库文件,而 graphics64.lib是64位库文件。
在 EGE安装包 中,根据自己的VS版本进入对应的文件夹。

可以里面看到有x86和x64两个文件夹。

点开来看,里面都各自有一个lib库文件,x86里面是32位的,x64里面是64位的。里面的lib文件就是我们需要的。


把上面用序号标记的两个lib文件,分别复制 到 VS中lib目录 对应的x64和x86目录就可以了。如下图所示。


2.3 安装测试
上面文件放置已经完成,现在新建项目进行测试,查看是否可以编译成功。
2.3.1 新建工程
用 Visual Studio 新建一个项目(空项目)
如果不知道怎么用Visual Studio新建空项目,可以查看以下教程:
其它版本自行查找教程。

#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
如果运行后能看到下图就说明已经安装好了。
如果编译出错,检查一下文件放置位置是否正确,或是安装了多个VS,或是放置到VS的旧版本文件夹.

2.4 VS2019去掉控制台
如果VS2019总是自动跳出控制台,则需要设置一下在 项目属性中 设置一下 子系统, 如果原先是控制台,那么设置成未设置。
① 点击项目->项目属性,进入到项目属性设置界面。

② 点击 链接器 ->系统,在 子系统 的下拉列表中选择 未设置,点击确定保存设置。

3. Codeblocks
3.1 Codeblocks下载链接
http://www.codeblocks.org/downloads/26

3.2 CodeBlocks不同版本覆盖安装问题
因为CodeBlocks多个版本用的是统一的配置文件,并且软件自身有问题,如果之前已经安装有旧版本,再安装新其它本时,编译器路径等配置可能会沿用之前的设置,不懂得自动调整,需要自己修改一下。
① 点击 设置(Settins) → \rightarrow → 编译器(Compiler),打开编译器设置。

② 在 工具链可执行文件(Toolchain executables) 中,会有一个编译器安装目录栏,如果路径不在当前使用版本的安装目录中,那么点击一下右边的 自动检测(Auto-detect) ,让软件自动修改到当前安装版本的编译器目录中。
如果点击后,编译器路径还是没有设置正确,自己点击浏览目录,选择正确的编译器目录。
这个目录是bin目录的上一级目录,如图中,MinGW的子目录中包含bin目录。

③ 点击 设置(Settins) → \rightarrow → 调试器(Debugger),打开 调试器设置。

④ 设置一下gdb.exe的路径,选择编译器目录中的bin目录下的 gdb.exe,否则调试可能出错。

3.3 解压EGE安装包
在根目录或者其它目录新建一个文件夹,将EGE的安装包解压到其中。最好不要随便乱放,后面要用到,可以像下图一样在根目录建一个命名为ege的文件夹。

3.4 配置EGE的步骤
配置EGE有两种方式,一种是在全局设置里配置,另一种是在项目设置里配置,这两种的配置步骤是一样的。由于项目配置只针对项目,新建项目后又需要重新配置,所以这里只讲如何在全局设置中配置,全局设置里完成后后面无需再进行配置。
项目设置的位置
这里是针对项目的配置,如果想配置,需要新建项目。

全局设置的位置
这里是针对所有项目和文件的配置,设置后所有项目和文件都会使用这些配置参数。

3.4.1 添加包含路径和库路径
① 启动 CodeBlocks , 点击 设置(Settins) → \rightarrow → 编译器(Compiler),打开编译器设置。

② 在 全局编译器设置(Global compiler settings) 里面,点击 搜索目录(Search directories)。点击编译器(Compiler),然后添加之前EGE文件中的 include目录。


然后再在EGE文件里,在 lib目录 中根据安装的CodeBlocks版本选择相应的文件夹,在地址栏复制目录路径(这里以CodeBlocks20.03为例)。

打开对应版本的目录,复制地址栏上的路径。

将复制好的库目录路径填到链接器(Linker) 栏中。

3.4.2 链接参数
在 链接器(Llinker settings) 设置里,添加要链接的库。
如果是 CodeBlocks20.03,添加64位的库 libgraphics64.a,复制以下内容填写
libgraphics64.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a
如果是 CodeBlocks17.12,添加32位的库libgraphics.a,复制以下内容填写
libgraphics.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a
3.4.3 测试是否配置好
3.4.3.1 点击左上角的新建文件
点击左上角的新建文件按钮,选择 空文件(Empty file)。

3.4.3.2 输入测试代码
复制以下代码,粘贴到文件中。
#include
//using namespace ege; int main() {
initgraph(640, 480); //设置绘画颜色为红色 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置背景颜色为白色 setbkcolor(WHITE); //画圆 circle(320, 240, 100); getch(); closegraph(); return 0; }
按 Ctrl + S 快捷键保存文件,或者点击保存按钮也行。在保存文件的对话框中,选择一个合适的位置存放文件,并填写以 .cpp 为后缀的文件名,如 main.cpp,点击保存。

填写好后如下图所示。

3.4.3.3 编译运行
点击上方中的 构建并运行(Build and run) 按钮,查看是否能够运行成功。

如果运行后出现如下所示的图形界面,就说明配置成功了。

4. DevC++
首先不推荐使用 Dev-C++ 作为编程开发的工具,希望能尽快过渡到专业软件上。鉴于很多新手依然在用,所以这里还是讲解一下如何配置EGE。
所用DevC++版本: 5.11 版本, 64位
附 DevC++下载链接 : https://sourceforge.net/projects/orwelldevcpp/
4.1 小熊猫Dev-C++
这里推荐一款由高校老师开发的一款类似 Dev-C++ 的编程开发工具,内置EGE,打开即可使用,免去安装EGE的烦恼,相比 Dev-C++ 增加了不少现代的实用功能。

4.2 解压EGE安装包
4.3 配置EGE步骤
4.3.1 添加包含路径和库路径
① 点击菜单栏 工具(Tools) → \rightarrow → 编译选项(Compiler Options…),这时会弹出编译器选项窗口。

找到EGE文件目录中的lib目录下的devcpp目录,复制其路径。(可以看到文件夹中有两个库文件)

在编译器选项窗口中,依次点击 目录 → \rightarrow → 库,将刚才复制的路径粘贴到输入框中,然后点击 添加 按钮。

找到EGE文件中的include文件夹位置,复制地址栏中的路径。

点击 C++包含文件,将刚才复制的 include目录路径填入输入栏中,点击 添加 按钮。

4.3.2 配置链接参数
继续在编译器选项窗口中,点击 编译器 ,先看上方配置中,当前配置是32位还是64位。

如果是 64-bit,将下方的输入栏的连接参数改成以下的内容:
-static -static-libgcc -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
如果是 32-bit,将下方的输入栏的连接参数改成以下的内容:
-static -static-libgcc -lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
看看上面编译器配置栏,记一下现在配置的是哪个,等下要对所选的配置进行测试。

最后点击确定 ,保存设置。
4.4 测试是否配置好
4.4.1 新建文件
点击新建文件的按钮,选择 源代码。

4.4.2 复制粘贴测试代码
将下面的测试代码复制粘贴到文件中。
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
点击 保存 按钮。

选择一个合适位置保存文件,文件名要以.cpp 为后缀,点击保存。

4.4.3 选择刚才配置好的编译器配置
4.4.4 编译运行,查看结果
点击编译运行按钮。

如果没有任何报错,出现如下界面,就说明已经安装成功,如果报错,那就回去检查检查哪一步出了问题。

4.5 重复上面两个步骤,直至完成6个配置
上面测试好后,把其它5个编译器配置都配置完毕。
再次点击菜单栏 工具(Tools) → \rightarrow → 编译选项(Compiler Options…),打开编译器选项窗口。

点开设置编译器配置,可以看到有6个配置,有64位和32位两种。刚才只配置了其中一个,现在要把这6个都配置完成,添加包含路径和库路径这6个都是一样的,只是32位和64位的链接参数有所不同,如图中所示。

好的,现在重复上面的配置步骤,把这6个都配置完成。
5. 命令行使用GCC编译
所用EGE安装包 : ege20.08_all
编译器版本 : MinGW-G64 GCC 8.1.0
需要先安装好GCC, 是MinGW-W64的,而不是MinGW,这两个是不同的。
5.1 MinGW-W64 的安装(也可以下载TDM-GCC)
下面两个选一个下载就行,教程里用的是MinGW-W64 GCC==
64位系统:选择 x86_64-posix-seh 下载。(不要下 x86_64-posix-sjlj)
32位系统:选择 i686-posix-sjlj 下载。

解压文件
下载完成后, 找个好点的位置,新建一个目录(别随便乱放),再解压到里面,就可以了。
比如,我在 D盘根目录 新建了 mingw-w64 文件夹,然后解压到里面。

添加路径到环境变量
然后将上面的 bin 目录加到环境变量中, 我的目录是 D:\mingw-w64\mingw64\bin, 自己到目录里面复制即可。


这样GCC就安装好了,命令行测试一下,先win + R调出 运行, 输入 cmd,调出命令行。

命令行输入 g++ --version 查看g++版本信息, 输入gdb --version 查看gdb版本信息。能正确显示信息说明配置完成。

5.2 EGE的安装
5.2.1 放置头文件
把安装包include 目录中的文件复制,粘贴到 mingw-w64 的 x86_64-w64-mingw32 文件夹的 include 目录中。
参考路径
D:\mingw-w64\mingw64\x86_64-w64-mingw32\include



5.2.2 放置库文件
把 EGE安装包中EGE20.08\lib\mingw64 中的库文件复制。
参考路径
D:\mingw-w64\mingw64\x86_64-w64-mingw32\lib

粘贴到 mingw-w64 的库目录中。

EGE库配置完成。
5.3 使用命令行编译
新建一个文件夹,作为工作目录。(如果有合适的,不新建也行)
如下图,我在 E:/VSProject/egeCmd 下新建了一个ege文件夹作为工作目录,即工作目录为 E:/VSProject/egeCmd/ege

编写程序
如图,我新建了个 main.cpp 源文件,复制粘贴示例代码,保存。

示例代码:
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
打开命令行
先win + R调出 运行, 输入cmd,调出命令行。


切换盘符
命令行打开后,当前目录一般是 C:\Users\用户。
如果目录所在的盘不同,先切换盘符,上面我的工作目录是 E:/VSProject/egeCmd/ege, 在 E盘,所以要先跳转
输入 E:

跳转到工作目录
使用 cd 目录命令跳转,工作目录是 E:\VSProject\egeCmd\ege,所以命令是
cd E:\VSProject\egeCmd\ege

编译
输入命令
g++ 源文件名 -o 生成文件名.exe 链接命令
ege所需的链接命令 (64位系统)
-lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
ege所需的链接命令 (32位系统)
-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
根据我上面的文件,命令为:(源文件名可以使用 *.cpp, 这代表编译目录中所有源文件,部分编译器无法使用通配符*)
g++ main.cpp -o ege.exe -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

如果编译链接没有问题,就会生成exe文件,命令中已经将生成文件命名为ege.exe

如果出现了下面的错误,那么 很可能是你下错了GCC,编译64位程序请确认下载的是 x86_64-posix-seh, 而不是 x86_64-posit-sjlj。

运行程序
命令行输入exe文件名,或者直接双击exe文件,运行程序,这里是 ege.exe。

多文件编译
如下图,有两个源文件,一个头文件

下面是三个文件的内容
main.cpp
#include
//包含EGE的头文件 #include "test.h" int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 draw(); //调用其它源文件的函数 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
test.h
#ifndef _HEAD_TEST_H #define _HEAD_TEST_H void draw(); #endif //!_HEAD_TEST_H
test.cpp
#include
#include "test.h" void draw() {
setfillcolor(BLUE); bar(100, 100, 300, 300); }
如果有一个或多个源文件,那么g++命令中的文件名换成 *.cpp,即
g++ \*.cpp -o ege.exe -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus


其它GCC命令,可以自行上网查找资料。
6. VS Code + GCC
这里有别人发的B站安装视频,如果想看安装视频的可以去看
https://www.bilibili.com/video/av/
- 所用EGE安装包 : ege20.08_all
- 编译器版本 : MinGW-G64 GCC 8.1.0
需要先自行安装好GCC,推荐 TDM-GCC 和 MinGW-W64
下面按64位的配置
6.1 MinGW-W64 的安装
请参考 (4)命令行使用GCC编译 中的 [1] MinGW-W64 的安装
请确认下载的64位版本是 x86_64-posix-seh , 而不是 x86_64-posix-sjlj
6.2 EGE的安装
请参考 (4)命令行使用GCC编译 中的 [2] EGE的安装
6.3 VS Code 配置
关于VS Code的C++配置,可以查看VS Code 官网的配置说明,里面有配置的说明,按着配置说明来即可,过程说得挺清楚。(如果之前已经使用过VS Code,那肯定已经搞过)
VS Code 官网的配置C++说明
https://code.visualstudio.com/docs/cpp/config-mingw
既然使用 VS Code, 那就默认了解 VS Code 的配置文件写法或者了解配置文件的配置选项含义,这个就不多说了,可以看上面的官网文档,或者自行搜索,确保能运行 C++ 的Hello world程序为止。

编译C++是需要安装下面这款插件的,扩展里直接搜 C/C++ 即可。

配置好C++后,下面来讲解设置如何配置ege。
新建项目
- 新建一个文件,作为工作目录,然后用VS Code 打开

- 添加源文件
点击新建文件,命名为 文件名.cpp

复制粘贴下面的代码
#include //包含EGE的头文件 int main() { initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; } 设置C/C++插件的配置文件 c_cpp_properties.json
- 添加 C/C++配置 (c_cpp_properties.json)
点击 查看->命令面板, 或者 (Shift + Ctrl + P)

输入 C/C++ Edit
选择 C/C++ 编辑配置(UI)


可以看到左边 新建了个 c_cpp_properties.json文件

然后复制粘贴下面的配置文本
注意:
includePath 中要添加 gcc放置头文件的目录(根据自己的安装位置修改)
路径选项1: xx\mingw64\include
路径选项2: xx\mingw64\x86_64-w64-mingw32\include
compilePath填入 g++.exe的路径
c_cpp_properties.json
{
"configurations": [ {
"name": "Win32", "includePath": [ "${workspaceFolder}\\", "D:\\mingw-w64\\mingw64\\include", "D:\\mingw-w64\\mingw64\\x86_64-w64-mingw32\\include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "D:\\MinGW-W64\\mingw64\\bin\\g++.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }
6.3.1 两种配置:Code Runner插件运行和VSCode 调试
一般 VS Code 默认使用的微软官方C++插件,不少人使用的是Code Runner插件,所以这里讲解这两种分别如何进行配置。
请注意这两个插件的不同运行方式,不要混淆。通常官方C++插件是按F5调试运行,而Code Runner是
6.3.2 Code Runner插件

Code Runner插件比较多人用,下载后可以一键编译运行多种编程语言的代码,不需要繁琐的配置,但是似乎不能调试。
Code Runner插件安装完成之后,会多一个运行按钮,右键菜单中会多一个Run Code选项,这个就是Code Runner插件的。

Code Runner插件的配置
点击 文件->首选项->设置

在 用户 设置的扩展中找到 Code Runner 的设置 Run Code Configuration

然后在配置项的 Executor Map 中,点击一下 在settings.json中编辑,进入文本编辑方式。

在 “code-runner.executorMap” 中加入 cpp的运行命令,如下:(在code-runner.executorMap中,如果cpp的运行命令已经存在了的话,修改一下即可,可以用 // 或 /* */ 将原来的注释掉)
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -static-libgcc -g $fileName -o $fileNameWithoutExt -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus && $dir$fileNameWithoutExt", },
说明一下,下面这个是EGE所需要的 GCC 链接参数
-lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
然后在下面再加入4 行:
"code-runner.runInTerminal": true, /* 在集成终端中运行 */ "code-runner.ignoreSelection": true, /* 忽略所选部分,始终运行整个文件 */ "code-runner.fileDirectoryAsCwd": true, /* 将文件所在目录设为当前工作目录 */ "code-runner.saveFileBeforeRun": true, /* 运行前保存文件*/
示例如下:(请注意加入设置项的位置,不要被其它设置项用括号包含在内)

- 已经配置完成了,保存文件,跳转到 main.cpp,右键,选择 Run Code,或者单击右上角的三角形运行按钮,看看是否运行成功。控制台是没有的,已经集成在下面的终端了。


出现如下运行结果就OK了。
6.3.3 VSCode启动任务配置
除了上面使用 CodeRunner插件运行的方法,下面介绍的是使用 VSCode 自身的配置文件来配置。
运行方式是菜单 运行->启动调试(F5) (现在还没配置,运行不了)

- 配置任务 tasks.json
点击 终端 -> 配置任务

选择 C/C++: g++.exe build active file
然后会生成一个 tasks.json 文件, 复制粘贴下面的 tasks.json 配置文本。
注意:
- “command” 填 g++.exe 的绝对路径,g++.exe 文件在编译器的bin目录中。根据自己的安装位置情况填写,如
"D:/mingw-w64\\mingw64\\bin\\g++.exe" - “option”:“cwd” 就写GCC的bin目录,就是g++.exe所在的目录, 根据自己的安装位置情况填写。
(这里注意了,是g++.exe,而不是gcc.exe,因为是C++库,需要用C++编译器编译)
下面这个是EGE所需的链接参数
-lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
tasks.json
{
// 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId= "version": "2.0.0", "tasks": [ {
"type": "shell", "label": "g++.exe build active file", "command": "D:\\mingw-w64\\mingw64\\bin\\g++.exe", "args": [ "-g", "${workspaceFolder}\\*.cpp", //多文件编译 //"${file}", //单文件编译用这个 "-o", "${workspaceFolder}\\${workspaceRootFolderName}.exe", "-lgraphics64", "-luuid", "-lmsimg32", "-lgdi32", "-limm32", "-lole32", "-loleaut32", "-lwinmm", "-lgdiplus", ], "options": {
"cwd": "D:\\mingw-w64\\mingw64\\bin" }, "problemMatcher": [ "$gcc" ], "group": {
"kind": "build", "isDefault": true } } ] }
- 添加 启动配置 (launch.json)
点击 运行->添加配置

然后会生成一个 launch.json 文件, 复制粘贴下面的配置文本。
注意: - externalConsole, 设置是否是外部控制台
true 为带控制台窗口,运行时产生一个独立的控制台窗口
false 为控制台内容在VS终端窗口中显示,不额外产生控制台窗口。 - miDebuggerPath:填安装的编译器中gdb.exe的路径,根据自己的安装情况填写
(就在那个mingw64里的bin目录中)
我的是 “D:\\mingw-w64\\mingw64\\bin\\gdb.exe”
文件 launch.json
{
"version": "0.2.0", "configurations": [ {
"name": "g++.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}\\${workspaceRootFolderName}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "D:\\mingw-w64\\mingw64\\bin\\gdb.exe", "setupCommands": [ {
"description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "g++.exe build active file" } ] }
- 保存好全部文件

回到cpp源文件,点击 运行->启动调试(F5)

出现如下运行结果就OK了。

如果有多个源文件,所有源文件要直接放置在工作目录下,否则编译命令需要另外添加:所在目录\\*.cpp, 像下面一样
注意一下,下面 args 中有个参数
- ${wordspaceFolder}\\*.cpp
表示编译直接位于工作空间文件夹下的所有cpp源文件(不包含子文件中的cpp源文件),即多文件编译。多个源文件是一个整体,这意味着编译的所有源文件中只能有一个 main() 函数,并且不能冲突。- 如果你想要单独编译一个文件,一个源文件作为一个程序,源文件之间彼此独立,那么可以把 ${wordspaceFolder}\\*.cpp 换成 ${file},这样就只会编译 当前文件,编译的时候需要先点击要编译的源文件,再点击运行按钮。

另外说明
对于多文件编译, 文件 launch.json 中的
"${workspaceFolder}\\*.cpp"
可能使编译器无法正确编译,因为目前发现有部分编译器如TDM-GCC无法识别 * 通配符 ,所以如果编译,可以将这个参数换成想要编译的源文件。
项目树如下图,项目工作空间下,有source文件夹,main.cpp, file.cpp,,并且source文件夹中有test.cpp

那么参数为
//多文件编译 "${workspaceFolder}\\main.cpp", "${workspaceFolder}\\file.cpp", "${workspaceFolder}\\source\\test.cpp",
完整 launch.json文件
{
// 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId= "version": "2.0.0", "tasks": [ {
"type": "shell", "label": "g++.exe build active file", "command": "g++.exe", "args": [ "-g", "${workspaceFolder}\\main.cpp", "${workspaceFolder}\\file.cpp", "${workspaceFolder}\\source\\test.cpp", //"${file}", //单文件编译用这个 "-o", "${workspaceFolder}\\${workspaceRootFolderName}.exe", "-lgraphics64", "-luuid", "-lmsimg32", "-lgdi32", "-limm32", "-lole32", "-loleaut32", "-lwinmm", "-lgdiplus", ], "options": {
"cwd": "D:\\mingw-w64\\mingw64\\bin" }, "problemMatcher": [ "$gcc" ], "group": {
"kind": "build", "isDefault": true } } ] }
7. C-Free
- 所用C-Free版本: C-Free 5, 32位
- 附C-Free 下载链接:http://www.programarts.com/cfree_ch/
需要注意的是,C-Free安装路径里不能带空格
但是它自己安装的时候也会有空格,把 “C-Free 5” 改成 “C-Free5”, 即去掉空格 - 使用的EGE安装包:ege19.01_all
由于 EGE20.08 不再内置 gdiplus,而C-Free太过老旧(别用C-Free了好不好),没有带有 libgdiplus.a,所以无法安装 EGE20.08,只能安装 EGE19.01

7.1 头文件和库文件的放置
- 将EGE安装包 include 目录中的文件全选
(txt文件就不用了),复制粘贴到C-Free对应include目录中
参考路径( E:\C-Free5\mingw\include )


- 将EGE安装包中的 lib 目录下的库文件文件放到C-Free中库文件的放置目录
库文件的选择:选择的是mingw32文件夹, 把EGE安装包中mingw32中的 libgraphics.a文件
放置位置参考路径( E:\C-Free5\mingw\lib )

7.2 项目的配置
- 打开C-Free, 选择新建工程

- 选择控制台程序, 工程名称随意
(这里取ege), 保存位置选个合适的目录,点击确定。

- 选择一个简单的程序
(选其它也行), 点击下一步

- 选择C++语言, 不可选C语言

- 选择一个构建配置
(这里选mingw5)

- 这时会打开我们的项目,右边是我们项目中的文件

- 点击工程->设置

- 点击 连接, 在下面参数里复制粘贴上下面这一行
-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm
(注意到图片里有个-lgdiplus,这里不要加)

- 换成Release, 复制粘贴同样的参数, 点击 确定
-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm
(注意到图片里有个-lgdiplus,这里不要加)

- 打开 main.cpp, 复制粘贴上一下代码。
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }

- 点击 构建->构建, 看下下面有没有错误,没有就点击 运行

- 出来下面的运行结果就说明配置已经完成

- 点击 Debug \ Release 切换按钮,点击构建->重新构建, 运行, 看看结果有什么不同

避免重复配置的方法
刚才的项目配置只是针对一个项目的,如果下次新建一个EGE项目,还得重新配置
如果你经常写EGE程序,最好在 构建 中配置, 这样每次新建一个项目,就会自动为项目进行同样的配置,就免去了重新配置的麻烦。
- 点击 构建->构建选项

- 为Debug和Release添加同样的参数, 点击确定
-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

- 这样就可以避免每次新建项目都要重新配置了
如果你不想要后面的控制台窗口,可以关掉
- 点击 工程->设置, 点击 “一般” 选项卡, 工程类型选择 “GUI”, 点击确定。
如果你想要显示控制台窗口,则选择 CUI
- 然后点击 构建->重新构建, 然后点击 运行, 就可以看到控制台窗口就关闭了

- 就可以看到控制台窗口不见了

7.3 C-Free 出现的问题
一些错误原因请参考 DevC++ 部分。
No such file or directory
显示下方的错误信息,那很有可能是安装路径 带有空格
8. Eclipse IDE for C/C++
附Eclipse IDE 下载链接:https://www.eclipse.org/downloads/
安装时选择Eclipse IDE for C/C++ Developers安装即可。

使用的EGE安装包:ege20.08_all
所使用的编译器:mingw-w64, TDM-GCC也可
8.1 MinGW-W64 的安装
参考 (4)命令行使用GCC编译 中的 [1] MinGW-W64 的安装
请确认下载的是 x86_64-posit-seh , 而不是x86_64-posit-sjlj
8.2 EGE的安装
参考 (4)命令行使用GCC编译 中的 [2] EGE的安装
8.3 Ecplise IDE 的配置
打开Ecplise, 显示欢迎页,点击创建一个新C/C++项目(Create a new C/C++ project)。

选择C++管理构建(C++ Managed Build), 点击Next。

填写 项目名称(任意取,填ege就行),选择一个空文件夹作为工作空间(最好找个地方新建个workspace目录,然后项目统一放里面), 选择之前安装好的GCC编译器,点击finish。

新建源文件,填写源文件名(任意,但包含main函数的源文件命名main即可,容易区分), 点击finish


打开 main.cpp, 复制粘贴上以下代码, 保存文件。
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }

8.3.1 设置build时自动保存文件(首次设置)
选择 窗口(Window) -> 首选项(Preferences)。

点击 常规(General) -> 工作空间(workspace) -> 构建(Build), 把手动构建前自动保存(Save automatically before manual build) 勾选

8.3.2 添加库
选择项目(Project) -> 属性(Properties)。

添加库,一共9个,点击下图的加号即可添加。

分别添加下面9个库(如果你是构建32位的,把graphics64换成graphics)
有两个,Debug 和 Realease,两个都要设置,点击 应用(Apply),然后点击 应用并关闭(Apply and close) 就可以了。

点击锤子(构建 build), 或者点击项目(project) -> 构建项目 (Buidl Project)。
如果构建后下面控制台(console) 显示 无错误(0 errors, 0 warnings), 就可以点击运行(Run)。


成功配置运行结果。

- 主要是添加库,上面那个需要 每次新建一个项目都要重新添加一次 全局设置和导出项目设置我暂时没找到,你们自己搜搜。
9. CLion
9.1 配置好C++环境(如果之前配置好了,就不用看了)
9.1.1 编译器
① 点击 “File->Settings…” 进入设置界面。

② 在 “Build,Exection,Deployment” -> “Toolchains” 中设置一下 Environment(编译器安装目录)
对于有多个编译器的,可以点击列表里的编译器,然后点上下箭头将其上移下移,第一个即为默认编译器。

对于安装了多个编译器的,可以在 Toolchain 里设置一下具体使用的编译器,原设置是使用默认编译器。

9.1.2 新建C++项目
点击欢迎页 的New Project 或者 菜单栏 “File” 下拉菜单中的 “New Project” 都可以


在弹出的New Project 窗口中,选择 “C++ Executable”,设置一下新建项目的位置,文件夹名也将是新项目的名字。

新建好的项目如下图所示,会自动创建一个Hello world程序。

点击工具栏上的运行按钮,运行程序。

下面运行栏中出现 “Hello, World!” 即为成功。

9.2 CLion项目中的EGE配置
CLion是用cmake来做项目构建的,配置需要修改里面的 CMakeLists.txt 文件。
9.2.1 解压ege安装包
将ege安装包解压到一个合适的位置,最好不要乱放。
(如下图,在E盘根目录中新建了ege文件夹,ege解压到其中。)

9.2.2 CMakeLists.txt文件
在项目视图中,可以 main.cpp 旁边看到有一个CMakeLists.txt文件。

CMakeLists.txt 初始内容如下(untitled2为项目名):

9.2.3 配置CMakeLists.txt文件
配置内容如下图所示:(图后有说明,这里为GCC编译器的配置) (untitled为创建时自动生成的项目名,可自行修改)

需要注意安装包中的两个路径 (配置文件中的路径根据个人电脑的安装包实际目录修改,这里为我个人的安装包目录)


CMakeLists.txt 内容如下(GCC)
cmake_minimum_required(VERSION 3.15) project(untitled) set(CMAKE_CXX_STANDARD 14) set(EGE_INC_DIR E:/ege/EGE20.08/include) set(EGE_LINK_DIR E:/ege/EGE20.08/lib/mingw64) include_directories(${
EGE_INC_DIR}) link_directories(${
EGE_LINK_DIR}) add_executable(untitled main.cpp) target_link_libraries(untitled libgraphics64.a libgdi32.a libimm32.a libmsimg32.a libole32.a liboleaut32.a libwinmm.a libuuid.a libgdiplus.a)
CMakeLists.txt 内容如下(MSVC)
如果你安装有VS,想使用VS里的MSVC编译器,则target_link_libraries里只需添加 graphics.lib 或graphics64.lib即可。(需要注意graphics.lib或graphics64.lib实际所在目录)
cmake_minimum_required(VERSION 3.20) project(untitled) set(CMAKE_CXX_STANDARD 14) set(EGE_INC_DIR E:/ege/EGE20.08/include) #设置EGE_INC_DIR 为EGE头文件目录 set(EGE_LINK_DIR E:/ege/EGE20.08/lib/vs2019/x64) #设置EGE_LINK_DIR 为EGE库目录 include_directories(${
EGE_INC_DIR}) #添加 EGE_INC_DIR 所指定的目录为包含目录 link_directories(${
EGE_LINK_DIR}) #添加 EGE_LINK_DIR 所指定的目录为链接目录 add_executable(untitled main.cpp) target_link_libraries(untitled graphics64.lib) #链接EGE库
9.2.4 CMakeLists.txt的配置说明
下面是对上面 CMakeLists.txt 配置内容的一个说明
9.2.4.1 添加ege的include目录和lib目录
这里先定义两个路径参数 EGE_INC_DIR和EGE_LINK_DIR,表示上面ege库的路径 (实际路径需要自己到文件管理器中自行查看确定) ,方便引用。
lib 使用lib/mingw64 中的库文件。
set(EGE_INC_DIR E:/ege/EGE20.08/include) set(EGE_LINK_DIR E:/ege/EGE20.08/lib/mingw64)
使用 include_directories 添加ege的include目录
include_directories(${
EGE_INC_DIR})
使用 link_directories 添加ege的lib目录
link_directories(${
EGE_LINK_DIR})
9.2.4.2 添加ege所需要链接的库
在GCC中 ege 需要链接的库如下:
在MSVC中 ege 需要链接的库如下:
graphics64.lib
在add_executable 后面添加target_link_libraries,然后加入以上库即可。
GCC
target_link_libraries(untitled libgraphics64.a libgdi32.a libimm32.a libmsimg32.a libole32.a liboleaut32.a libwinmm.a libuuid.a libgdiplus.a)
MSVC
target_link_libraries(untitled graphics64.lib)
9.3 运行测试
修改 main.cpp内容为如下测试代码:
#include
//包含EGE的头文件 int main() {
initgraph(640, 480); //初始化图形界面 setcolor(EGERGB(0xFF, 0x0, 0x0)); //设置绘画颜色为红色 setbkcolor(WHITE); //设置背景颜色为白色 circle(320, 240, 100); //画圆 getch(); //暂停,等待键盘按键 closegraph(); //关闭图形界面 return 0; }
9.4 其它配置
如果不需要控制台,可以加入编译参数 -mwindows
set(CMAKE_CXX_FLAGS -mwindows)

EGE专栏: EGE专栏
上一篇:(一)EGE入门教程
下一篇:(三)EGE基础教程 上篇
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177928.html原文链接:https://javaforall.net
