只把 EasyX 拷贝进项目里,方便发给没有安装 EasyX 的人编译(以 MinGW 为例)
当你想把自己用 EasyX 编写的代码发给别人时,也许对方因为没安装 EasyX 导致无法编译。这时候,你可以只把 EasyX 拷贝进项目里,然后随着项目一起打包发给别人,方便其他人编译。本文以 Code::Blocks(MinGW)为例,详细讲述这种方法。
1. 创建项目
打开 Code::Blocks 20.03,新建 Console application 项目,控制台应用程序(将解决方案和项目放在同一个文件夹)。假定项目路径在:D:\mydoc\TestEasyX。编译执行,确保 Code::Blocks 可以正确编译 C++ 程序。
2. 拷贝 EasyX 相关文件
到这里下载 MinGW 版本的 EasyX:https://go.easyx.cn/easyx-for-mingw,下载到的安装文件是 easyx4mingw_20220610.zip,使用压缩软件打开,并解压缩到项目的 EasyX 路径下。以下是文件结构,然后删掉用不到的文件:
D:\mydoc
└ TestEasyX <folder> // 项目路径
├ bin <folder> // 项目生成 exe 所在文件夹
├ obj <folder> // 项目中间文件所在文件夹
├ EasyX <folder> // EasyX 相关文件
│ ├ include <folder> // EasyX 的头文件
│ │ ├ easyx.h // 头文件(提供了当前最新版本的接口)
│ │ └ graphics.h // 头文件(在 easyx.h 的基础上,保留了若干旧接口)
│ ├ lib32 <folder> // 【删掉】
│ │ └ libeasyx.a // EasyX 的 32 位库文件【删掉】
│ ├ lib64 <folder>
│ │ └ libeasyx.a // EasyX 的 64 位库文件
│ ├ lib-for-devcpp_5.4.0 <folder> // 【删掉】
│ │ └ libeasyx.a // EasyX 针对老版本 MinGW 的库文件【删掉】
│ └ readme.txt // 说明文件,删掉【删掉】
├ main.cpp // cpp 代码文件
└ TestEasyX.cbp // 项目文件
删完以后的文件结构如下:
D:\mydoc
└ TestEasyX <folder> // 项目路径
├ bin <folder> // 项目生成 exe 所在文件夹
├ obj <folder> // 项目中间文件所在文件夹
├ EasyX <folder> // EasyX 相关文件
│ ├ include <folder> // EasyX 的头文件
│ │ ├ easyx.h // 头文件(提供了当前最新版本的接口)
│ │ └ graphics.h // 头文件(在 easyx.h 的基础上,保留了若干旧接口)
│ └ lib64 <folder>
│ └ libeasyx.a // EasyX 的 64 位库文件
├ main.cpp // cpp 代码文件
└ TestEasyX.cbp // 项目文件
注:因为 Code::Blocks 20.03 默认带的是 64 位 MinGW,所以该范例删掉了 32 位的 EasyX 库。如果你使用的是 32 位 MinGW,根据自己需要进行文件精简。
3. 修改头文件中的路径
修改头文件路径,打开 d:\mydoc\TestEasyX\EasyX\include\graphics.h,将开始部分的:
#include <easyx.h>
修改为:
#include "easyx.h"
4. 修改链接参数
菜单 Project -> Build options...,左侧选中 Debug,右侧选择 Linker settings 选项卡,在 Other linker options 文本框内填写:EasyX\lib64\libeasyx.a -lgdi32 -lole32。然后左侧选中 Release,同样在 Linker settings 选项卡的 Other linker options 文本框内填写:EasyX\lib64\libeasyx.a -lgdi32 -lole32,确定。
5. 编写代码
作为例子,将以下代码复制到 TestEasyX.cpp 中:
#include "EasyX\Include\graphics.h"
#include <conio.h>
int main()
{
initgraph(640, 480);
circle(300, 200, 100);
_getch();
closegraph();
return 0;
}
编译、执行,可以看到窗口中画了一个圆,成功。
至此,EasyX 已经顺利的配置在项目中,可以将这个项目的文件夹打包发给其他人,只要对方有 Code::Blocks,不需要安装 EasyX 就可以打开编译执行。
添加评论
取消回复