慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

只把 EasyX 拷贝进项目里,方便发给没有安装 EasyX 的人编译(以 VS2022 为例) 铜牌收录

当你想把自己用 EasyX 编写的代码发给别人时,也许对方因为没安装 EasyX 导致无法编译。这时候,你可以只把 EasyX 拷贝进项目里,然后随着项目一起打包发给别人,方便其他人编译。本文以 VS2022 为例,详细讲述这种方法。

1. 创建项目

打开 VS2022,新建控制台应用程序(将解决方案和项目放在同一个文件夹)。假定项目路径在:D:\mydoc\TestEasyX。编译执行,确保 VS2022 可以正确编译 C++ 程序。

2. 拷贝 EasyX 相关文件

到官网 https://easyx.cn 下载 EasyX,下载到的安装文件是 EasyX_20220610.exe 文件,这个 .exe 比较特殊,可以直接使用压缩软件打开,并解压缩到项目的 EasyX 路径下。以下是文件结构,然后删掉用不到的文件:

D:\mydoc
	└ TestEasyX <folder>					// 项目路径
		├ EasyX <folder>					// EasyX 相关文件
 		│	├ include <folder>				// EasyX 的头文件
		│	│	├ easyx.h 					// 头文件(提供了当前最新版本的接口)
		│	│	└ graphics.h				// 头文件(在 easyx.h 的基础上,保留了若干旧接口)
		│	├ lib <folder>					// EasyX 的库文件
		│	│	├ VC6 <folder>				// 针对 VC6 的库文件【删掉】
		│	│	├ VC2008 <folder>			// 针对 VC2008 ~ 2013 的库文件【删掉】
		│	│	└ VC2015 <folder>			// 针对 VC2015 ~ 2019 的库文件(x64, MBCS 版本),根据需要,选择 x64、x86 保留一个。作为例子,保留 x86 的库
		│	│		├ x64 <folder>			// 作为例子,保留 x86 的库,删掉 x64 文件夹【删掉】
		│	│		│	├ EasyXa.lib
		│	│		│	└ EasyXw.lib
		│	│		└ x86 <folder>			// 作为例子,保留 x86 的库。
		│	│			├ EasyXa.lib
		│	│			└ EasyXw.lib
		│	└ Setup.hta						// 安装程序【删掉】
 		├ TestEasyX.cpp						// cpp 代码文件
 		├ TestEasyX.sln						// 解决方案文件
 		└ TestEasyX.vcxproj					// 项目文件

删完以后的文件结构如下:

D:\mydoc
	└ TestEasyX <folder>					// 项目路径
		├ EasyX <folder>					// EasyX 相关文件
 		│	├ include <folder>				// EasyX 的头文件
		│	│	├ easyx.h 					// 头文件(提供了当前最新版本的接口)
		│	│	└ graphics.h				// 头文件(在 easyx.h 的基础上,保留了若干旧接口)
		│	└ lib <folder>					// EasyX 的库文件
		│		└ VC2015 <folder>			// 针对 VC2015 ~ 2019 的库文件(x64, MBCS 版本)
		│			└ x86 <folder>
		│				├ EasyXa.lib
		│				└ EasyXw.lib
 		├ TestEasyX.cpp						// cpp 代码文件
 		├ TestEasyX.sln						// 解决方案文件
 		└ TestEasyX.vcxproj					// 项目文件

3. 修改头文件中的路径

修改头文件路径,打开 d:\mydoc\TestEasyX\EasyX\include\graphics.h,将开始部分的:

#include <easyx.h>

修改为:

#include "easyx.h"

修改库文件路径,打开 d:\mydoc\TestEasyX\EasyX\include\easyx.h,将开始部分的:

#ifdef UNICODE
	#pragma comment(lib, "EasyXw.lib")
#else
	#pragma comment(lib, "EasyXa.lib")
#endif

修改为:

#ifdef UNICODE
	#pragma comment(lib, "EasyX\\lib\\VC2015\\x86\\EasyXw.lib")
#else
	#pragma comment(lib, "EasyX\\lib\\VC2015\\x86\\EasyXa.lib")
#endif

4. 编写代码

作为例子,将以下代码复制到 TestEasyX.cpp 中:

#include "EasyX\Include\graphics.h"
#include <conio.h>

int main()
{
    initgraph(640, 480);
    circle(300, 200, 100);
    _getch();
    closegraph();
    return 0;
}

选择编译设置为 x86,然后编译、执行,可以看到窗口中画了一个圆,成功。

至此,EasyX 已经顺利的配置在项目中,可以将这个项目的文件夹打包发给其他人,只要对方有 VS2022,不需要安装 EasyX 就可以打开编译执行。

添加评论