编译报错:undefined reference to `std::__cxx11::basic_string 或者@GLIBCXX_3.4.21

出现错误起因:

        编译环境,gcc从4.8.5版本升级到9.3.0版本。项目引用客户的SDK库(库是gcc7.2.0版本编译的)。用gcc7.2.0版本编译正常。

错误信息:

排查错误:

        1.网上搜索了undefined reference to `std::__cxx11::basic_string错误。提供了一个方式:

         在cmakelist 中添加 :

add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)

        依然报错。将宏改为1也依然报错

        2.想到编译环境上是手动升级,怀疑编译环境上两个gcc有混用。于是排查:

        编译脚本添加(VERBOSE)详细信息输出:

        发现编译使用的编译器:/usr/bin/c++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值