【发布时间】:2017-07-10 10:26:45
【问题描述】:
尝试在 Eclipse (neon.2) 中构建我的 C++ 应用程序时遇到问题。这个应用程序应该只是创建一个文件,打印数字 15-210,保存文件,然后关闭。这是我每次尝试构建它时遇到的错误:
17:59:42 **** Incremental Build of configuration Debug for project Project1 ****
Info: Internal Builder is used for build
g++ -o Project1.exe Q1.o Q2.o displayHeader.o
Q2.o:Q2.cpp:(.data+0x0): undefined reference to `__gxx_personality_seh0'
Q2.o:Q2.cpp:(.xdata+0x10): undefined reference to `__gxx_personality_seh0'
collect2.exe: error: ld returned 1 exit status
17:59:44 Build Finished (took 1s.391ms)
只有当我尝试在我的程序中使用 ofstream 或 ifstream 时才会发生这种情况。我已经成功构建并运行了其他(非常简单的)C++ 应用程序,这些应用程序在 Eclipse 中不使用它,但是当我这样做时,我得到了这个错误。
这是我的代码:
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
int main(){
ofstream outfile;
outfile.open("nums.txt");
for (int i = 15; i < 211; i++) {
outfile << i << " ";
}
outfile.close();
return 0;
}
我使用 MingW 创建了项目,我的环境路径变量中有 /bin 文件夹,并且在 Project/Properties/C/C++ Build/Environment 下设置了所有变量。我一直在疯狂地搜索论坛和教程,试图看看我在安装 Eclipse 或 MingW 期间是否遗漏了一些东西,但我没有发现任何问题。
我希望我提供了足够的信息,但如果有其他帮助,请告诉我。近一个星期以来,我一直在为此拔头发。非常感谢您的帮助。
【问题讨论】:
-
看看是否可以通过从命令行构建程序来消除等式中的 Eclipse。
-
@user4581301 我得到了同样的错误,现在这也是在collect2.exe之上:c:/MinGW/x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a -crt0_c.o):crt0_c.c:(.text+0x46): undefined reference to `WinMain'
-
@crackedact0r 您使用的是什么项目类型?缺少的
WinMain()表示正在运行面向 Windows 的项目,而不是运行简单的控制台应用程序。 -
@πάνταῥεῖ Eclipse 中带有 MinGW 的 C++ 可执行项目(如果这就是你的意思)。我对这一切都很陌生,所以如果这不是你的意思,我很抱歉。
标签: c++ eclipse io eclipse-neon