Albert Oppenheimer wrote:
I have a small program, test.c. It runs OK. This is on Linux (kernel
2.6.8.1, GCC 3.4.1).
I decided to convert it to C++ before expanding it to a larger program. I
changed the filename to test.cpp and added
extern "C" {
}
around main and all the non-static subroutines. It compiles OK, but when I
link it, it says:
test.o (.eh_frame+0x11): undefined reference to '__gxx_personality_v0'
My program makes no reference to __gxx_personality_v0.
What do I need to do to get this program to link as a C++ program?
Thanks,
Allie
The __gxx part indicates that this is a g++-specific implementation
issue. The .eh_frame probably indicates that it is concerned with
exception handling, code for which may be automatically inserted for
C++ programs (but not for C). If so, you could disable exceptions with
a compiler flag or link in the proper symbols from a library that came
with your compiler (perhaps libstdc++?), which may not get pulled in
with your current compiler flags. As the other respondent said, any
follow-up should be directed to a GNU newsgroup see the FAQ for some
alternate newsgroups:
http://www.parashift.com/c++-faq-lit...t.html#faq-5.9
Cheers! --M