Home » C++ » Link error “undefined reference to `__gxx_personality_v0'” and g++ [duplicate]

Link error “undefined reference to `__gxx_personality_v0'” and g++ [duplicate]

Posted by: admin November 29, 2017 Leave a comment


Possible Duplicate:
Undefined Symbol ___gxx_personality_v0 on link

I have a problem with the following program.

// fkt.cpp

#include "fkt.h"

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

And the header:

// fkt.h

int add2(int a, int b);

Now I compile this with:

g++ -c fkt.cpp

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'

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


If g++ still gives error Try using:

g++ file.c -lstdc++

Look at this post: What is __gxx_personality_v0 for?

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.


It sounds like you’re trying to link with your resulting object file with gcc instead of g++:

Note that programs using C++ object
files must always be linked with g++,
in order to supply the appropriate C++
libraries. Attempting to link a C++
object file with the C compiler gcc
will cause “undefined reference”
errors for C++ standard library

$ g++ -Wall -c hello.cc
$ gcc hello.o       (should use g++)
hello.o: In function `main':
hello.o(.text+0x1b): undefined reference to `std::cout'
  undefined reference to `__gxx_personality_v0'

Source: An Introduction to GCC – for the GNU compilers gcc and g++