编译报错:undefined reference to `std::__cxx11::basic_string

    此错产生原因为:c++11与旧的c++库函数实现存在差异,当本地的c++代码动态库为旧版本c++库所实现,而编译器g++5,gcc5将其解释为std::__cxx11,就会出现未定义错误,那么需要指定编译器的版本为g++4,gcc4,再进行编译时就不会发生上述问题,

    相关命令:

1、编译器版本查看

gcc -v,g++ -v

2、安装相应版本编译器

sudo apt-get install gcc-4.8

3、更改默认编译器版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 #100为版本优先级,越大越好。

之后再输入gcc -v ,g++ -v进行查看,如果只更改gcc版本未4.8而g++版本还为5,那么g++编译器依然会使用gcc5来进行编译,因此、需同时更改g++,gcc版本。

 

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值