举报

vs2017 64 位程序上编译出现 link2001 错误

5

最新版 EasyX_20200315(beta) 在 Win10 + VS2017 平台编译 64 位时, 会出现 link2001 错误, 而 x86 不会

程序:

#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#include <math.h>
const int wid = 600, hei = 600;
const int Rrout = 200, Rball = 5;
int x, y;
double t;

int main()
{
	initgraph(wid, hei);
	BeginBatchDraw();
	while (1)
	{
		cleardevice();
		x = Rrout * sin(t) + wid / 2;
		y = Rrout * cos(t) + hei / 2;
		fillcircle(x, y, Rball);
		FlushBatchDraw();
		t += 0.05;
		Sleep(20);
	}
	getchar();
	return 0;
}

错误:

1>EasyXw.lib(EasyX.DrawOnImg.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(Image.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.ImageFunc.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.Var.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.DrawOnImg.obj) : error LNK2001: 无法解析的外部符号 __GSHandlerCheck_EH4
1>C:\Users\Nuclear_Missile\Desktop\Project1\x64\Debug\Project1.exe : fatal error LNK1120: 2 个无法解析的外部命令

 

相同的程序在32位可编译, 64位不可编译

如果 EasyX 换成18年的稳定版, 则64位debug版可以编译运行, 64位release版会爆同样的错误

报错:

1>------ 已启动生成: 项目: paint circle, 配置: Release x64 ------
1>EasyXw.lib(EasyX.DrawOnImg.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(Image.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.ImageFunc.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.Var.obj) : error LNK2001: 无法解析的外部符号 __CxxFrameHandler4
1>EasyXw.lib(EasyX.DrawOnImg.obj) : error LNK2001: 无法解析的外部符号 __GSHandlerCheck_EH4

 

如果在编译参数选择/MT或/MTD时报错会只有

1>EasyXw.lib(EasyX.DrawOnImg.obj) : error LNK2001: 无法解析的外部符号 __GSHandlerCheck_EH4

但仍然编译不过

代码没有任何问题,替换其他包含 easyx 库的代码也会爆同样的错

我 vs 已经经过重置,所有选项均为初始选项,没做任何更改。系统也刚重装过。

希望大神解答

bug
ava
核火箭

2020-3-23

容我搭个环境测试一下。 -  慢羊羊  2020-3-24
举报
请问你的问题解决了吗?我也遇到了同样的问题,不知道要怎么弄 -  Mr.bean  2020-5-4
举报
@Mr.bean 近期应该会发布新版本,解决这个问题。 -  慢羊羊  2020-5-11
举报
我也有一样的问题,但是再VC6.0里静态链接不会报错 -  『✧』  2022-1-21
举报
举报
0

应该可以确认了,是 EasyX 的问题,谢谢~。加个好友呗,有红包~

ava
慢羊羊

2020-3-24

举报
0

我用你的代码试了一下,没有报错,可以运行。

ava
9433

2020-3-24

1 请问你的测试环境是最新的 EasyX_20200315(beta) 吗? -  慢羊羊  2020-3-24
举报
技术讨论社区