链接错误“未定义对‘__gxx_personality_v0’的引用"和 g++

Link error quot;undefined reference to `__gxx_personality_v0#39;quot; and g++(链接错误“未定义对‘__gxx_personality_v0’的引用和 g++)
本文介绍了链接错误“未定义对‘__gxx_personality_v0’的引用"和 g++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
链接上的未定义符号___gxx_personality_v0

我对以下程序有疑问.

// fkt.cpp

#include "fkt.h"

int add2(int a, int b)
{
    return a+b;
}

还有标题:

// fkt.h

int add2(int a, int b);

现在我编译这个:

g++ -c fkt.cpp

现在我运行 nm 并得到:

Now I run nm and get:

00000000 T _Z6add2ii
         U __gxx_personality_v0

当我想在任何地方使用该功能时:

When I want to use the function anywhere I get:

(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

我该如何解决这个问题?(我正在使用 Ubuntu Linux.)

How can I solve this problem? (I'm using Ubuntu Linux.)

推荐答案

如果 g++ 仍然报错 Try using:

If g++ still gives error Try using:

g++ file.c -lstdc++

看这篇文章:__gxx_personality_v0 是干什么用的?

确保 -lstdc++ 位于命令的末尾.如果将它放在开头(即 file.c 之前),仍然会出现同样的错误.

Make sure -lstdc++ is at the end of the command. If you place it at the beginning (i.e. before file.c), you still can get this same error.

这篇关于链接错误“未定义对‘__gxx_personality_v0’的引用"和 g++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)