【发布时间】:2017-01-25 11:16:56
【问题描述】:
尝试创建 .h 文件以存储类时,如下例所示:
#ifndef TRIANGLE64_H
#define TRIANGLE64_H
class Triangle64{
public:
Triangle64();
double getArea();
void destroy(); //Frees the allocated memory
private:
//Variables reflecting the properties of the triangle
double Base;
int N_ulps;
double s;
double Area;
};
#endif
我返回错误:
此版本的 C:\Users\ezio1\AppData\Local\Temp\Triangle64.exe 与您运行的 Windows 版本不兼容。检查您计算机的系统信息,然后联系软件发行商。
这似乎很奇怪,因为我没有尝试使用此代码创建 .exe 文件(为了完整起见,我还使用 gcc 编译器运行 Windows 10)。
我也尝试忽略错误消息并尝试从标头创建类文件:
#include "Triangle64.h"
//Constructor
Triangle64::Triangle64(){
}
但是,这一次代码甚至没有运行,并且返回了错误消息
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0):未定义对“WinMain@16”的引用 collect2.exe:错误:ld 返回 1 个退出状态
这可能是我安装编译器的问题还是与操作系统有关?
【问题讨论】:
-
缺少其他代码,您还没有向我们展示您是如何尝试构建应用程序的。包括使用的makefile或命令行会很好。第二个问题见stackoverflow.com/questions/5259714/…
-
将 -m64 / -m32 标志添加到您的链接行。你能在这里显示链接命令吗?
-
请为第一个错误发布一个 MCVE,并尝试更好地描述您的问题。您在“输入 .h 文件”和“返回错误”之间遗漏了很多步骤。首先你说你不是试图创建一个EXE文件,但后来你似乎试图编译和运行代码。 (不创建EXE文件就无法编译运行)