ege安装教程(第二银河配置要求)

讲解EGE的安装

大家好,又见面了,我是你们的朋友全栈君。

EGE专栏: EGE专栏
上一篇:(一)EGE入门教程
下一篇:(三)EGE基础教程 上篇


(二)EGE安装与配置

文章最后编辑时间:2021年12月15日15:22:36

目录

安装讲解包含以下IDE

  • Visual Studio
  • CodeBlocks
  • DevC++
  • VS Code
  • Eclipse IDE for C/C++
  • C-Free
  • Clion

以及命令行GCC的编译方法
其中VSVS2017作安装讲解,其它版本自己参照来安装

如果安装失败,可以进EGE官方群1060223135询问
群问题:ege是什么? 图形库

  对照教程配置一次后失败,或者1小时内没有成功,直接加群询问,不要在安装上浪费时间。
  不成功是因为有些基础的知识没掌握,没法发现错误,这种情况下直接加群询问即可。有些人竟然会用一晚上甚至几天的时间来安装,最后没弄出来才加群询问。这浪费了几天时间不值得啊,安装本来就十几二十几分钟的事情,别人帮你安装,你不会都行,安装这件事不需要学,现在主要是因为自动安装程序没有编写出来所以才需要手动安装。
  把时间花在EGE库的使用学习上,而不是浪费在安装这件事情上。

注意带上错误信息截图, 并说明自己用的什么编译器,按照哪个教程配置,配置到了哪一步。
配置出错,一般是文件放置的目录不对,链接参数写错。注意主动展示这三个配置信息 (头文件,库文件,链接参数)

在这里插入图片描述

EGE图形库的安装

  参考自EGE官网 安装&配置https://xege.org/beginner-lesson-1.html

EGE20.08新版发布啦

在这里插入图片描述

安装配置的变化

  由于新版有点小改动,所以在安装配置方面,20.08版本和19.01版本有点不同,列举如下:

  • 用于VS的库文件名去掉了VS版本号
    如:原来用于VS2019graphics1964.lib库文件 改为 graphics64.lib,去掉了19
    左为 20.08 版本,右为19.01版本
    在这里插入图片描述 在这里插入图片描述
  • EGE20.08 直接适配的IDE增多,根据自己安装的写代码软件选择对应的安装包
    在这里插入图片描述
  • 新版之前安装过旧版,只需要复制对应的文件,在安装目录中进行替换即可
  • 20.08版本去掉了内置 gdiplus,所有链接参数必须带上 -lgdiplus,或者添加gdiplus.a 到链接库目录里面。(之前 19.01版本 已经内置 gdiplus,可加可不加。)

不要再安装19.01版本了,谢谢

GCC编译器的链接参数

这里方便参考
64位

 -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

32位

 -lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

1. 下载

EGE 20.08

EGE20.08中只有一个 ege20.08_all 安装包,里面已包含所直接支持的IDE
在这里插入图片描述

下载链接

(1) EGE官网 站内下载

官网下载地址:https://xege.org/install_and_config

在这里插入图片描述

(2) EGE官网 百度网盘下载:

https://pan.baidu.com/s/1qWxAgeK#list/path=%2F

在这里插入图片描述

安装包注意事项

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

2. 安装

EGE图形库需要根据自己的编译器来进行安装,下面仅对VS2017 、CodeBlocks、DevC++、C-Free、VS Code、Eclipse for C/C++这些较为常用的编译器进行介绍,其余的自行参考类似的

如果按照下面的步骤安装不成功,可以找找其他人的安装教程试试,可能与EGE版本、编译器版本、个人电脑等有关。

安装主要是三个步骤,其实不复杂,篇幅比较长是因为有很多过程截图。
三个步骤:

1. 放置头文件到软件安装目录的include文件夹内。 (或者指定编译器的头文件搜索路径)
2. 放置库文件到到软件安装目录的lib文件夹内。(或者指定编译器的库文件搜索路径)
3. 在开发环境中配置链接参数(Visual Studio不需要)

文件复制示意图

  文件复制主要是以下三个位置,头文件目录,64位库目录和32位库目录,具体位置根据所安装的软件调整。
在这里插入图片描述

以下是分软件来详细讲解安装过程

(1) Visual Studio

EGE安装包目录与VS目录对应说明

  • VS安装EGE,主要是将安装包中 include 文件夹和 lib文件夹 中的文件,复制到VS安装目录中对应的位置。其中lib 文件夹中有 x64x86 两个文件夹,都有对应的库文件要放置。
  • 下图表示对应关系,左边是VS的目录,右边是EGE安装包目录。将右边 include目录里面的 所有文件 直接复制粘贴到左边include目录中,将右边x64 和 x86中的文件同样复制粘贴到对应文件夹里
    在这里插入图片描述

EGE的安装

[1] VS安装目录的查找

例如 E:\Visual Studio\Microsoft Visual Studio\2017\Community
找不到的可以在VS桌面图标右键选择打开文件所在位置,如下图
在这里插入图片描述

[2] VS的include目录和lib目录的查找

参考路径:Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726

先点击 Community(社区版) 或 Professional(专业版)
在这里插入图片描述

然后找到 VC 目录
VS2017社区版VC目录
在这里插入图片描述
VS2019专业版VC 目录
在这里插入图片描述

再进入下面标红的目录,可以看到有 includelib 这两个文件夹。

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

  • include目录中的内容
    在这里插入图片描述
    打开EGE安装包
    将EGE安装包中的include目录中的所有文件,全选,复制粘贴到刚才的VS2017的include目录下
    (那个txt文件就不用复制了)
      如果EGE安装包中没有 graphics.h文件,可以下载19.01版本的EGE安装包,把graphics.h文件复制进去,这个文件漏了
    在这里插入图片描述
    下面是复制好的例子.
    在这里插入图片描述

头文件的复制就完成了,现在到复制 lib 文件

找到VS2017安装位置中的lib目录(就在include的旁边)
在这里插入图片描述
(如下图)进lib目录将会看到x64 和x86两个文件夹,x64是64位,x86是32位的
在这里插入图片描述

[4] lib库文件的复制

EGE安装包中找到 lib 文件夹,将里面x64文件夹和x86文件夹内的lib文件复制粘贴VS2017 lib目录的对应位置
x64和x86的lib文件是不同的,需要放到对应的文件中,不然链接时就找不到lib文件了。
graphics.lib是x86文件夹中的,也就是32位的, graphics64.lib就是64位的。

EGE安装包 中,根据自己的VS版本进入对应的文件夹
在这里插入图片描述
可以里面看到有x86和x64两个文件夹
在这里插入图片描述
  点开来看,里面都各自有一个lib库文件,x86里面是32位的,x64里面是64位的。里面的lib文件就是我们需要的。
在这里插入图片描述
在这里插入图片描述

  把上面用序号标记的两个lib文件分别复制VSlib目录 对应的x64x86目录就行了。(如下图)
在这里插入图片描述

安装测试

  上面文件放置已经完成,现在新建项目进行测试,查看是否可以编译成功。

新建工程
  • 用 Visual Studio 新建一个项目(空项目

如果不知道怎么用Visual Studio新建项目,可以查看以下教程

VS2017创建新项目
VS2019创建新项目

其它版本自行查找教程,创建空项目
在这里插入图片描述

  • 新建一个.cpp文件,写入测试代码,编译,运行
    在这里插入图片描述
    下面为测试代码(点击代码块右上方复制按钮进行复制)
#include <graphics.h> //包含EGE的头文件

int main()
{ 
   
	initgraph(640, 480);				//初始化图形界面
	
	setcolor(EGERGB(0xFF, 0x0, 0x0));	//设置绘画颜色为红色
	
	setbkcolor(WHITE);					//设置背景颜色为白色
	
	circle(320, 240, 100);				//画圆
	
	getch();							//暂停,等待键盘按键

	closegraph();						//关闭图形界面
	
	return 0;
}

如果运行后能看到下图就说明已经安装好了。
(如果编译出错,检查一下文件放置位置是否正确,或是安装了多个VS,或是放置到VS的旧版本文件夹)
在这里插入图片描述

VS2019去掉控制台

  如果VS2019总是自动跳出控制台,则需要设置一下在 项目属性中 设置一下 子系统, 如果原先是控制台,那么设置成未设置

在这里插入图片描述
点击 链接器 ->系统,在 子系统 的下拉列表中选择 未设置即可。
在这里插入图片描述

(2) Codeblocks

Codeblocks下载链接(更新到20.03版了)

http://www.codeblocks.org/downloads/26

在这里插入图片描述

CodeBlocks不同版本覆盖安装问题

因为CodeBlocks似乎是用的统一的配置文件,所以如果你之前已经安装,再安装新其它本时,编译器路径等配置可能会沿用之前的设置,需要自己修改一下。

打开编译设置
在这里插入图片描述
如果编译器安装路径没有设置正确,自己设置到编译器安装路径
在这里插入图片描述
打开调试器设置
在这里插入图片描述
设置一下gdb.exe的路径,否则调试可能出错
在这里插入图片描述

注意了,20.03版本64位的,而17.12版本32位的,因此一个需要64位库,一个需要32位

  • 安装说明所用codeblocks版本: 版本17.12 32位

查看CodeBlocks版本信息
工具栏 Help –> About
在这里插入图片描述
在这里插入图片描述

步骤
①找到Codeblocks的安装目录桌面的快捷方式右键选择打开文件所在位置即可找到

  • 我的安装目录 E:\codeblocks\codeblocks-17.12\CodeBlocks
    在这里插入图片描述
    可以看到有个MinGW 文件夹
    如果没有看到MinGW文件夹,那说明你安装的是不自带MinGW的CodeBlocks,编译器在其它地方
    打开CodeBlocks, 选择设置(Settings) -> 编译器(Compiler)
    在这里插入图片描述
    然后点击一下选项卡 可执行工具集(Toolchain executables),就能看到MinGW文件夹在哪
    在这里插入图片描述

  • 进入MinGW文件夹,找到里面的includelib 文件夹
    (下面这个是17.12版本要放的地方, 20.03版本放的是另外的位置)
    在这里插入图片描述

打开EGE安装包文件ege20.08_all, 看到有include 和 lib
在这里插入图片描述

头文件的放置

  • 这时我们把EGE安装包include目录中的文件复制,就是以下红圈中的三个,
    在这里插入图片描述
  • 然后粘贴到Codeblocks的include文件夹中
    注意啦,是复制EGE安装包中上图红圈中的三个,放到 安装目录的include目录里面,而不是复制整个include文件夹

以下是Codeblocks中 include文件夹的参考路径:
CodeBlocks17.12 (32位)(下面有目录截图)
E:\CodeBlocks\MinGW\include

CodeBlocks20.03 (64位)(下面有目录截图)
E:\codeblocks\codeblocks-20.03\CodeBlocks\MinGW\x86_64-w64-mingw32\include

下面是目录位置截图
CodeBlocks17.12include目录
在这里插入图片描述
CodeBlocks20.03include目录
在这里插入图片描述

lib文件的放置

进入 lib 文件夹
在这里插入图片描述

根据自己 CodeBlocks 的版本选择进入对应的文件夹
在这里插入图片描述

  • 将里面的 .a库文件,复制粘贴到 CodeBlocks安装目录中lib目录中。
    CodeBlocks 20.03使用 libgraphics64.a(64位)
    其它版本使用libgraphics.a(32位)

    在这里插入图片描述
    在这里插入图片描述

  • 复制粘贴到Codeblocks对应的lib目录中

参考路径:
CodeBlocks17.12
E:\CodeBlocks\MinGW\lib

CodeBlocks20.03
E:\codeblocks\codeblocks-20.03\CodeBlocks\MinGW\x86_64-w64-mingw32\lib

下面是目录位置截图
CodeBlocks17.12lib目录
在这里插入图片描述
CodeBlocks20.03lib目录
在这里插入图片描述

测试

创建工程
  • 新建工程
    在这里插入图片描述
  • 选择空工程 (Empty project),点击 Go
    在这里插入图片描述
  • 选择Next
    在这里插入图片描述
  • 填写工程名(Project title),其它默认,也可以修改工程目录
    在这里插入图片描述
  • 选择编译器 GNU GCC Compiler
  • 勾选Debug, Release
  • finish
    在这里插入图片描述
链接参数配置
  • 新建好后,现在设置工程, 配置链接参数。
    选择 Project -> Build options…
    在这里插入图片描述

  • 看到左边有Debug 和 Release, 如果两种都要编译,请两个都要设置,现在设置Debug
    点击左边的Debug

  • (左边有三个可以选,Debug /Release和工程, 这三个可以分别配置成不同的设置, 这里我们先配置Debug, 然后复制到另外两个就行)
    在这里插入图片描述

  • 选择Linker option, 点击Add
    在这里插入图片描述

  • 弹出文件选择框,要开始添加链接库了
    在这里插入图片描述
    添加链接库有两种方式,一种是直接输入链接库名, 另一种是浏览目录,在lib目录中多选。前一种比较方便。

将下面的文本复制粘贴到输入框中,点击OK,注意,64位版本和32位版本不同

20.03版本是64位 的,输入:

libgraphics64.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a

17.12版本是32位 的,输入:

libgraphics.a; libgdi32.a; libimm32.a; libmsimg32.a; libole32.a; liboleaut32.a; libwinmm.a; libuuid.a; libgdiplus.a

在这里插入图片描述
这样就添加好了
17.12版本(32位)
在这里插入图片描述

20.03版本(64位)
在这里插入图片描述

鼠标左键点击拖动,框选全部的库,然后点击 “Copy selected to…”
在这里插入图片描述
勾选全部配置,点击OK即可,这样就配置好了
在这里插入图片描述

再点击OK确认修改
在这里插入图片描述

  • 链接库配置已经完成,以后每次新建个工程,都要重新设置一次链接库(后面有方法解决)

  • 点击左上角新建文件图标,也可以从File -> new->empty file新建
    在这里插入图片描述

在这里插入图片描述

  • 改文件名为 main.cpp, 一定要是.cpp后缀, 因为EGE是C++图形库,用.c文件是会报错的
    在这里插入图片描述
  • 选择OK
    在这里插入图片描述
  • 输入测试代码
    如果CodeBlocks不能自动补全, 那么需要在前面写命名空间
    可添加 using namespace ege;即下面的注释
#include <graphics.h>
//using namespace ege;

int main()
{ 
   
	initgraph(640, 480);
	//设置绘画颜色为红色
	setcolor(EGERGB(0xFF, 0x0, 0x0));
	//设置背景颜色为白色
	setbkcolor(WHITE);
	//画圆
	circle(320, 240, 100);

	getch();

	closegraph();
	return 0;
}
  • 选择Debug
    在这里插入图片描述

  • 选择Build -> Build
    在这里插入图片描述

  • 编译链接没有出错
    在这里插入图片描述

  • 点击Build -> Run( 工具栏上也有)
    *在这里插入图片描述在这里插入图片描述

  • 运行成功, 出现了两个框,黑色的是我们最常见的控制台窗口,白色的则是我们的图形窗口
    如果已经按照教程配置,但是仍然没能正确运行。可以试着下载上面链接中的最新的5.11版本DevC++,重新安装
    在这里插入图片描述

  • 同时出现两个框框很丑,要想关掉黑色的控制台窗口怎么办呢?
    选择Project -> Properties
    在这里插入图片描述

  • 点击 Build targets,把上面的 Type 改为 GUI application ,而不是 Console application, 点击OK

在这里插入图片描述

  • 选择 Build -> Rebuild, 然后选择Build -> Run 运行(工具栏也有,直接点就行)
    在这里插入图片描述
  • 可以看到控制台窗口已经没了
  • 直接双击运行生成的exe文件也是没有控制台窗口的
    在这里插入图片描述
  • Codeblocks已经配置完成
  • 但是这样的话每次新建工程都要重新配置链接库
  • 可以保存为模板,下次新建时选择模板
    在这里插入图片描述

(3) DevC++

小熊猫Dev-C++

这里推荐一款由高校老师开发的一款Dev-C++,内置EGE,打开即可使用,免去安装EGE的烦恼,并且为DevC++增加了不少强大的实用功能。

https://royqh.net/devcpp/

正常Dev-C++的安装EGE步骤

安装步骤

  • 先在DevC++桌面图标右键,选择打开文件所在的位置
    在这里插入图片描述
    然后就进入到了DevC++所在的安装目录
    在这里插入图片描述

复制头文件和库文件

目的是将安装包中的EGE头文件和 lib 库文件放到DevC++安装目录中对应的位置

1. 复制头文件

将EGE安装包 include 目录中的文件全选(txt文件就不用了),复制粘贴到 DevC++对应include目录
参考路径: D:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include
在这里插入图片描述
DevC++安装目录中对应的include目录,如下图。
在这里插入图片描述

2. 复制库文件

链接库文件分32位的和64位的,末尾带64的是64位的
在这里插入图片描述

(1) 将EGE安装包中的64位 链接库文件(libgrahipcs64.a), 复制粘贴到DevC++中对应的位置
参考路径: D:\Dev-cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2
在这里插入图片描述
libgraphics64.a 放置的目录
在这里插入图片描述
(2) 将EGE安装包中的32位 链接库文件(libgrahipcs.a), 复制粘贴到DevC++中对应的位置
参考路径:D:\Dev-cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\32
在这里插入图片描述
libgraphics.a 放置的目录
在这里插入图片描述
在这里插入图片描述
好了,头文件和库文件就已经完成了

新建工程

  • 现在要使用DecV++新建工程
    首先打开DevC++,点击 File–> New–>Project…, 新建工程
    在这里插入图片描述
    新建一个空项目(Empty Project),项目名字随意(这里就直接用EGE了),选择 C++ Project(默认), 点击 OK
    在这里插入图片描述
    然后需要选择DevC++工程保存的目录, 选好位置后,新建一个目录(和刚才取的项目名相同,方便管理, 这里就用EGE了), 点击打开,然后点击 保存,项目就建好了。
    在这里插入图片描述
    可以看到左边项目下,自动帮我们新建了一个文件
    在这里插入图片描述
    然后我们点击工具栏上的 保存图标, 文件命名为 “main.cpp”
    在这里插入图片描述

编译参数配置

  • 接下来要对项目进行配置
    点击 工具(Tools), 选择 编译选项(Compiler Option…)
    在这里插入图片描述

配置的编译器分为32位和64位 的,两个需要链接不同的库,所以参数有所不同
在这里插入图片描述

下面配置64位的
选择 64位的,将最下面红框标注的链接命令改为下面这句(将下面这句复制粘贴进去好)

-static -static-libgcc -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

或者只添加链接库参数,这也可以

-lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

三个64位编译目标的都要设置一遍
在这里插入图片描述
下面配置32位
链接命令改为(32位的第一个链接命令是 -lgraphics, 而不是-lgraphics64,除了这个,和64位的没啥区别)

-static -static-libgcc -lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

或者只添加链接库参数,这也可以

-lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

三个32位编译目标都要设置

在这里插入图片描述

6个都修改完后,点击 OK 就行,这样就已经全部配置完成了。

  在有些别的DevC++的EGE安装教程里,链接命令没有 -lwinmm的,这样就用不了EGE里面用来播放音乐的 MUSIC类。如果你们编译参数里面没有,请在后面多添加一个 -lwinmm,否则使用MUSIC类时会出现 链接错误
在这里插入图片描述

  • 测试EGE
    将下面的测试例程复制粘贴到 main.cpp 中,
#include <graphics.h> //包含EGE的头文件

int main()
{ 
   
	initgraph(640, 480);				//初始化图形界面
	
	setcolor(EGERGB(0xFF, 0x0, 0x0));	//设置绘画颜色为红色
	
	setbkcolor(WHITE);					//设置背景颜色为白色
	
	circle(320, 240, 100);				//画圆
	
	getch();							//暂停,等待键盘按键

	closegraph();						//关闭图形界面
	
	return 0;
}

将编译目标设为64-bit Debug(这个是让你注意一下编译目标)
如果你的Windows是32位系统,那就设置为32-bit Debug
在这里插入图片描述
然后点击 编译运行
在这里插入图片描述
如果没有任何报错,出现如下界面,就说明已经安装成功,如果报错,那就回去检查检查哪一步出了问题
在这里插入图片描述

[1]去掉控制台(黑色框框)

可以看到,Devc++是默认显示控制台的,如果想要去掉
点击工具栏 项目(Project) –>编译选项(Prject Option…)
在这里插入图片描述
项目类型(Type) 选择Win32 GUI (图形用户界面程序), 而不是控制台程序(Win32 Console), 点击OK即可
在这里插入图片描述
再点击Rebuild All, 然后点击 编译运行(Compile & Run) 就OK了
在这里插入图片描述
在这里插入图片描述

[2] DevC++配置常出现问题

找不到对应库 can’t find -lgraphics64(或 -lgraphics)
出现这个界面,说明在链接时出现了问题
看到 错误信息“connot find -lgrahphics64’’, 找不到 grahphics64.a 库,看到右上角,配置是32位Release版, 和64位库不对应。
说明链接命令写错了,应该是 -lgraphics
如果配置和库已经对应,那么请检查一下是否将库文件放错了位置
在这里插入图片描述
未定义引用(undefined reference to xxx)
链接错误,没找到对应的函数定义。一看是EGE的库函数
说明链接命令没配置对
看下右上角的编译目标,然后点击 “工具(Tools)–>编译选项(Compiler Option…)”, 找到对应的编译器配置,设置好链接命令
在这里插入图片描述
看下面,都没配置
在这里插入图片描述
把所有编译器配置都设置一遍链接命令
64位 改为

 -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

32位 改为

 -lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

改完后,Rebuild一下

没有对应文件或目录(No such file or direction)
说明头文件没放对位置
在这里插入图片描述
回去检查一下头文件应该放在哪,实在不清楚的话,可以到编译选项里面看(中间有个gcc的那个)
在这里插入图片描述
打开DeVC++时提示 库 路径不存在

在这里插入图片描述
可以看到,上面显示32位的项目中,库路径MinGW64\lib32不存在
查看一下目录,发现确实没有 lib32 这个文件夹
在这里插入图片描述

刚打开时没有打开项目,那应该是全局设置里面的。
选择 工具 -> 编译选项
在这里插入图片描述
检查一下 所有32位配置 的库路径,写有这个不存在的路径话,点击一下“删除无效”按钮,就会把无效的路径删除,然后点击确认保存就好。

在这里插入图片描述

编译失败后总是弹出Makefile.win重新载入确认框
编译失败,先找到出错原因,修改好后,关掉 Makefile.win 文件
在这里插入图片描述
在这里插入图片描述

当前目录无效
出现如下所示的报错,并且确认已经按教程配置好,那可能是DevC++ 的问题。可以考虑换一个DevC++ ,到下面下载官方版本:
附 DevC++下载链接 : https://sourceforge.net/projects/orwelldevcpp/
EGE官网DevC++下载: https://xege.org/install_and_config
在这里插入图片描述

(4) 命令行使用GCC编译

  • 所用EGE安装包 : ege20.08_all
  • 编译器版本 : MinGW-G64 GCC 8.1.0

需要先安装好GCC, MinGW-W64的,而不是MinGW,这两个是不同的
下面按64位的配置

[1] MinGW-W64 的安装(也可以下载TDM-GCC)

先去下载好最新版的GCC

下面两个选一个下载就行,教程里写的是MinGW-W64 GCC

64位电脑
选择 x86_64-posix-seh 下载
选择 x86_64-posix-seh 下载
选择 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版本信息,能正确输入信息就OK了。
    在这里插入图片描述

[2] EGE的安装

  • 放置头文件
    把安装包include 目录中的文件复制,粘贴到 mingw-w64x86_64-w64-mingw32 文件夹的 include 目录中

参考路径 D:\mingw-w64\mingw64\x86_64-w64-mingw32\include
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
把 EGE安装包中EGE20.08\lib\mingw64 中的库文件复制,
参考路径 D:\mingw-w64\mingw64\x86_64-w64-mingw32\lib
在这里插入图片描述
粘贴到 mingw-w64 的库目录中。
在这里插入图片描述
EGE库安装完成。

[3] 使用命令行编译

  • 新建一个文件夹,作为工作目录(如果有合适的,不新建也行)
    如下图,我在 E:/VSProject/egeCmd 下新建了一个ege文件夹作为工作目录
    工作目录为 E:/VSProject/egeCmd/ege
    在这里插入图片描述
  • 编写程序
    如图,我新建了个main.cpp源文件,复制粘贴示例代码,保存
    在这里插入图片描述
    示例代码
#include <graphics.h> //包含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

根据我上面的文件,命令为:
g++ main.cpp -o ege.exe -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus
(源文件名可以使用 *.cpp, 这代表编译目录中所有源文件)

在这里插入图片描述
如果编译链接没有问题,就会生成exe文件,命令中已经将生成文件命名为ege.exe
在这里插入图片描述
如果出现了下面的错误,那么很可能是你下错了GCC
64位请确认下载的是 x86_64-posix-seh, 而不是 x86_64-posit-sjlj
在这里插入图片描述

  • 运行程序
    命令行输入exe文件名,或者直接双击exe文件,运行程序,这里是 ege.exe
    在这里插入图片描述

  • 多文件编译

如下图,有两个源文件,一个头文件
在这里插入图片描述
下面是三个文件的内容
main.cpp

#include <graphics.h> //包含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 <graphics.h>
#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

在这里插入图片描述

编译链接成功,会生成exe文件
在这里插入图片描述
运行程序
命令行输入exe文件名,或者直接双击exe文件,运行程序,这里是 ege.exe

在这里插入图片描述

其它GCC命令,可以自行上网查找资料

(5) VS Code + GCC

这里有别人发的B站安装视频,如果想看安装视频的可以去看

https://www.bilibili.com/video/av88687187/

  • 所用EGE安装包 : ege20.08_all
  • 编译器版本 : MinGW-G64 GCC 8.1.0

  需要先自行安装好GCC,推荐 TDM-GCCMinGW-W64

下面按64位的配置

[1] MinGW-W64 的安装

请参考 (4)命令行使用GCC编译 中的 [1] MinGW-W64 的安装

  请确认下载的64位版本是 x86_64-posix-seh , 而不是 x86_64-posix-sjlj

[2] EGE的安装

请参考 (4)命令行使用GCC编译 中的 [2] EGE的安装

[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 <graphics.h> //包含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
}

两种配置选择:Code Runner插件运行和VSCode 调试
1.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了。
    在这里插入图片描述
2. 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=733558
    "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=733558
    "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
            }
        }
    ]
}

(6) 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
    在这里插入图片描述

头文件和库文件的放置

主要是将安装包中的头文件和库文件放到正确的位置
在这里插入图片描述

  1. 将EGE安装包 include 目录中的文件全选(txt文件就不用了),复制粘贴到C-Free对应include目录中
    参考路径( E:\C-Free5\mingw\include )
    在这里插入图片描述

在这里插入图片描述

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

项目的配置

  • 打开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 <graphics.h> //包含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程序,最好在 构建 中配置, 这样每次新建一个项目,就会自动为项目进行同样的配置,就免去了重新配置的麻烦。

  • 点击 构建->构建选项
    在这里插入图片描述
  • DebugRelease添加同样的参数, 点击确定

 -lgraphics -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -lgdiplus

在这里插入图片描述

  • 这样就可以避免每次新建项目都要重新配置了

如果你不想要后面的控制台窗口,可以关掉

  • 点击 工程->设置, 点击 “一般” 选项卡, 工程类型选择 “GUI”, 点击确定。
    如果你想要显示控制台窗口,则选择 CUI
    在这里插入图片描述
  • 然后点击 构建->重新构建, 然后点击 运行, 就可以看到控制台窗口就关闭了
    在这里插入图片描述
  • 就可以看到控制台窗口不见了
    在这里插入图片描述

C-Free 出现的问题

一些错误原因请参考 DevC++ 部分。
No such file or directory
显示下方的错误信息,那很有可能是安装路径 带有空格

问题相关解决办法https://jingyan.baidu.com/article/9989c746cc5b0cf648ecfeb1.html
在这里插入图片描述
这时找到安装目录,把路径上的空格都去掉,如下图,为软件自动生成的安装目录,带有空格,请把空格删掉
在这里插入图片描述

(7) Eclipse IDE for C/C++

  • 所用Eclipse IDE版本:
    Eclipse IDE for C/C++ Developers
    Version: 2020-03 (4.15.0)
  • 附Eclipse IDE 下载链接:https://www.eclipse.org/downloads/
    安装时选择Eclipse IDE for C/C++ Developers安装即可
    在这里插入图片描述
  • 使用的EGE安装包:ege20.08_all
  • 所使用的编译器:mingw-w64, TDM-GCC也可

[1] MinGW-W64 的安装

参考 (4)命令行使用GCC编译 中的 [1] MinGW-W64 的安装

请确认下载的是 x86_64-posit-seh , 而不是x86_64-posit-sjlj

[2] EGE的安装

参考 (4)命令行使用GCC编译 中的 [2] EGE的安装

[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 <graphics.h> //包含EGE的头文件

int main()
{ 
   
	initgraph(640, 480);				//初始化图形界面
	
	setcolor(EGERGB(0xFF, 0x0, 0x0));	//设置绘画颜色为红色
	
	setbkcolor(WHITE);					//设置背景颜色为白色
	
	circle(320, 240, 100);				//画圆
	
	getch();							//暂停,等待键盘按键

	closegraph();						//关闭图形界面
	
	return 0;
}

在这里插入图片描述

设置build时自动保存文件(首次设置)

选择 窗口(Window) -> 首选项(Preferences)
在这里插入图片描述
点击 常规(General) -> 工作空间(workspace) -> 构建(Build), 把手动构建前自动保存(Save automatically before manual build) 勾选
在这里插入图片描述

添加库
  • 选择项目(Project) -> 属性(Properties)
    在这里插入图片描述
  • 添加库,一共9个
    点击下面的加号即可添加

在这里插入图片描述
分别添加下面9个库(如果你是构建32位的,把graphics64换成graphics)

graphics64
uuid
msimg32
gdi32
imm32
ole32
oleaut32
winmm
gdiplus

有两个,Debug 和 Realease,两个都要设置,点击 应用(Apply),然后点击 应用并关闭(Apply and close) 就可以了。
在这里插入图片描述

  • 点击锤子(构建 build), 或者点击项目(project) -> 构建项目 (Buidl Project)
    如果构建后下面控制台(console) 显示 无错误(0 errors, 0 warnings), 就可以点击运行(Run)
    在这里插入图片描述
    在这里插入图片描述
  • 成功配置运行结果
    在这里插入图片描述
  • 主要是添加库,上面那个需要 每次新建一个项目都要重新添加一次 全局设置和导出项目设置我暂时没找到,你们自己搜搜。

(8) CLion

1. 配置好C++环境(如果之前配置好了,就不用看了)

1.1 编译器

  Clion中没有自带编译器,需要自行下载编译器,安装后设置一下编译器路径即可。
  CLion安装时会自动出现相关配置界面要求填入编译器安装目录,如果跳过,可以按如下操作进行设置。

  1. 点击 “File->Settings…” 进入设置界面。
    在这里插入图片描述

  2. “Build,Exection,Deployment” -> “Toolchains” 中设置一下 Environment(编译器安装目录)
    (对于有多个编译器的,可以点击列表里的编译器,然后点上下箭头将其上移下移,第一个即为默认编译器
    在这里插入图片描述
      对于安装了多个编译器的,可以在 Toolchain 里设置一下具体使用的编译器,原设置是使用默认编译器。
    在这里插入图片描述

1.2 新建C++项目

  点击欢迎页New Project 或者 菜单栏 “File” 下拉菜单中的 “New Project” 都可以
在这里插入图片描述

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

在这里插入图片描述
新建好的项目如下图所示,会自动创建一个Hello world程序。
在这里插入图片描述
点击工具栏上的运行按钮,运行程序。
在这里插入图片描述
下面运行栏中出现 “Hello, World!” 即为成功。
在这里插入图片描述

2. CLion项目中的EGE配置

  CLion是用cmake来做项目构建的,配置需要修改里面的 CMakeLists.txt 文件。

2.1 解压ege安装包

  将ege安装包解压到一个合适的位置,最好不要乱放。
  (如下图,在E盘根目录中新建了ege文件夹,ege解压到其中。)
在这里插入图片描述

2.2 CMakeLists.txt文件

  在项目视图中,可以 main.cpp 旁边看到有一个CMakeLists.txt文件。
在这里插入图片描述
CMakeLists.txt 初始内容如下(untitled2为项目名)
在这里插入图片描述

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.libgraphics64.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_DIREGE头文件目录
set(EGE_LINK_DIR E:/ege/EGE20.08/lib/vs2019/x64)	#设置EGE_LINK_DIREGE库目录

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
2.4 CMakeLists.txt的配置说明

下面是对上面 CMakeLists.txt 配置内容的一个说明

2.4.1 添加ege的include目录和lib目录

  这里先定义两个路径参数 EGE_INC_DIREGE_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})
2.4.2 添加ege所需要链接的库

在GCC中 ege 需要链接的库如下:

libgraphics64.a
libgdi32.a
libimm32.a
libmsimg32.a
libole32.a
liboleaut32.a
libwinmm.a
libuuid.a
libgdiplus.a

在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)

3. 运行测试

修改 main.cpp内容为如下测试代码:

#include <graphics.h> //包含EGE的头文件

int main()
{ 
   
	initgraph(640, 480);				//初始化图形界面
	
	setcolor(EGERGB(0xFF, 0x0, 0x0));	//设置绘画颜色为红色
	
	setbkcolor(WHITE);					//设置背景颜色为白色
	
	circle(320, 240, 100);				//画圆
	
	getch();							//暂停,等待键盘按键

	closegraph();						//关闭图形界面
	
	return 0;
}

点击运行按钮,出现如下图形即可。
在这里插入图片描述

4. 其它配置

如果不需要控制台,可以加入编译参数 -mwindows

set(CMAKE_CXX_FLAGS -mwindows)

在这里插入图片描述


EGE专栏: EGE专栏
上一篇:(一)EGE入门教程
下一篇:(三)EGE基础教程 上篇

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126060.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • epoll高度封装reactor,几乎所有可见服务器的底层框架「建议收藏」

    epoll高度封装reactor,几乎所有可见服务器的底层框架「建议收藏」epoll高度封装reactor,几乎所有可见服务器的底层框架

    2022年10月31日
  • 使用eclipse建立ARM开发环境

    使用eclipse建立ARM开发环境原文:http://blog.sina.com.cn/s/blog_78212a050100ph5y.html J-Link: http://www.segger.com/http://www.eclipse.org/downloads/ 下载Eclipse IDE for C/C++ Developers 环境http://sourceforge.net/projects/gnu

  • java基础案例4-4学生和老师「建议收藏」

    java基础案例4-4学生和老师「建议收藏」packagecom.itheima;importjava.util.Scanner;abstractclassPerson{voidspeak(){}}classTeacherextendsPerson{privateStringname;voidsetName(Stringname){this.name=name;}StringgetName(){returnname;.

  • mac idea激活码永久【中文破解版】2022.02.13

    (mac idea激活码永久)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4KDDGND3CI-eyJsaWNlbnNlSWQiOi…

  • java socket详解_Java Socket 编程原理及教程「建议收藏」

    java socket详解_Java Socket 编程原理及教程「建议收藏」原标题:JavaSocket编程原理及教程对于JavaSocket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通…

    2022年10月18日
  • android activitymanagerservice_安卓开发API

    android activitymanagerservice_安卓开发APIAndroid中Java层的ActivityManager类中封装了很多API,可以供我们查询当前系统的很多信息,包括:内存、进程(Process)、任务栈(Task)、服务(Service)等的相关信息。利用这些信息可以进行一些有用的判断,例如判断当前系统内存是否不足、指定Service是否在运行中。(ActivityManager类封装了很多API方法供上层调用,具体负责管理Activity、Service等组件的是ActivityManagerService(AMS…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号