/tmp/cc3X3ejf.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
我用 gcc 编译 cpp 程序,出现错误:
/tmp/ccu4b6dY.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
然后去网上搜索,有两种讲法:
1. Linux Develop Notes
* 编译 c++ 程序需要添加 -lstdc++ option. sample: gcc -lstdc++ -o test test
.c,否则会报 "undefined reference to '__gxx_personality_v0' " 错误
2. 唉,用gcc命令编译C程序,用g++命令编译C++程序。俺趁五一整理了一份FAQ,希望以
后不再问这种问题了icon_smile.gif
是不是两种方法都可以?
用gcc编译.cpp文件时出现undefined reference to `__gxx_personality_v0',可能某些gcc不支持,具体是什么问题,我也没有弄清楚(如果哪位大侠高清楚了,请告知).
解决的办法就是通过g++来编译,就可以通过了!!
如我编译文件ds_attr.cpp
# gcc -ldb -o ds_attr ds_attr.cp
/tmp/ccytkpsi.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
# g++ -ldb -o ds_attr ds_attr.cp
sucess!!
可是我用gcc编译c文件也出现这样的问题
那又怎么解释呢?
加上-lstdc++就Ok
Use g++ for .cpp-Files, even if they are plain C.
阅读(1208) | 评论(0) | 转发(0) |