VS2017 手动配置 EasyX 到项目里,在 x64 下编译产生错误,请问有人碰到过吗?

0

我在 VS2017 的项目里手动安装了 EasyX_20200109(beta),在 x86 下编译程序是正常的,但在 x64 下编译会产生 unresolved external symbol __cxxframehandler4 错误。我在网上搜索了解决办法,试了在 project->properties->C/C++->code generation->C++ exceptions,然后 C++ exceptions 中选择否,但是还是没用。请问有大佬知道怎么解决吗?

#include <easyx.h>			// 引用图形库头文件
#include <conio.h>
int main()
{
	initgraph(640, 480);	// 创建绘图窗口,大小为 640x480 像素
	circle(200, 200, 100);	// 画圆,圆心(200, 200),半径 100
	_getch();				// 按任意键继续
	closegraph();			// 关闭绘图窗口
	return 0;
}
LNK2001	无法解析的外部符号 __CxxFrameHandler4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(EasyX.DrawOnImg.obj)	1	
LNK2001	无法解析的外部符号 __CxxFrameHandler4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(EasyX.obj)	1	
LNK2001	无法解析的外部符号 __CxxFrameHandler4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(Image.obj)	1	
LNK2001	无法解析的外部符号 __CxxFrameHandler4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(EasyX.ImageFunc.obj)	1	
LNK2001	无法解析的外部符号 __CxxFrameHandler4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(EasyX.Var.obj)	1	
LNK1120	2 个无法解析的外部命令	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\x64\Debug\HelloEasyX.exe	1	
LNK2001	无法解析的外部符号 __GSHandlerCheck_EH4	HelloEasyX	D:\computer science\EasyX学习\project\HelloEasyX\EasyXa.lib(EasyX.DrawOnImg.obj)	1	

ava
lch

2020-2-25

0

EasyX 库文件有 32 位和 64 位区分,同时又分 MBCS 和 Unicode,一共 4 个版本。你的问题,是因为使用了错误版本的 lib 文件。

按照官网的说明来安装 EasyX,是不会出这个问题的。

如果你想把 EasyX 放到项目路径下,也请链接对应版本的 lib 库文件。关于每个库文件的说明,请参考:https://docs.easyx.cn/setup

ava
慢羊羊

2020-2-25

我是按照官网的说明来安装的,发现只有用x86编译才能通过,x64还是报错。我安装了VS2019试了一下没问题了。谢谢! -  lch  2020-2-25
@lch  貌似官网并没有讲解怎样将 EasyX 安装到项目下。另外你可以再试试最新的 20200520 版本。 -  慢羊羊  2020-2-25
技术讨论社区