【问题标题】:C++ - undefined reference to `__gxx_personality_seh0'C++ - 未定义的对 `__gxx_personality_seh0' 的引用
【发布时间】: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


【解决方案1】:

您在安装过程中没有做错任何事情或遗漏任何事情!

我之前遇到过这个问题,这发生在MingW编译器和ofstream对象中,你应该改变这个命令

x86_64-w64-mingw32-gcc [your code file]

有了这个:

x86_64-w64-mingw32-g++ [your code file]

简而言之,在 Eclipse 或命令行中将 gcc 改为 c++

我的看法,在 Windows 中使用 MS Visual Studio 编译 C++ 代码,它的编译器给你更多的功能和灵活性,你可以更快地开发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    相关资源
    最近更新 更多