"__gxx_personality_v0"错误解决方法

本文介绍了两种常见情况下出现的__gxx_personality_v0编译错误及其解决方法。第一种情况是当C代码使用了C++的文件后缀名时,只需将文件后缀更改为.c即可。第二种情况是C++代码使用gcc编译时,需指定-lstdc++参数或直接使用g++编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >





该博客旨在分享IT技术心得和实际工作中遇到问题的解决方法,以下是新浪博客地址http://blog.sina.com.cn/qianyumolu,则为分享经济、行业趋势、心灵文章等,有兴趣的朋友可以踩踩,讨论分享  我爱你小燕

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


第一种情况:C程序。

原因:
网上说:“__gxx_personality_v0这样的编译错误,是由于源代码的文件后缀名和代码的语法不相符合"比如用C的语法的文件,选择了cpp这样的后缀名(或者<大写C>这样的后缀名)”。

解决方法:
把cpp改名为.c,如果你写的是c代码

第二种情况:C++程序。

原因:
网上说:“__gxx_personality_v0”的错误信息表示试图用gcc编译c++的代码而产生错误"。对于 C++ 程序,编译的时候用 gcc 或者 g++ 都可以。但是在进行连接的时候最好用 g++,因为用 g++ 会自动进行 C++ 标准库的连接;用 gcc 连接 C++ 程序也可以,但是需要人为指定连接 C++ 标准库,否则就会出现 undefined reference to `__gxx_personality_v\0' 之类的错误。


解决方法:
1、用gcc 编译 c++ 程序需要添加 -lstdc+ 。可见-lstdc++ 所对应的是标准C++库。
sample: gcc -lstdc++ -o test test.c

2、如果你是c++代码,那么请使用g++


建议采用第二种方法,第一种不一定生效;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值