嵌入式之家

 找回密码
 现在注册

QQ登录

只需一步,快速开始

搜索
热搜: ARM cortex
查看: 4725|回复: 0

Linux-GLIBCXX版本过低导致编译错误--version `GLIBCXX_3.4.20' not found

[复制链接]
  • TA的每日心情
    开心
    2020-6-18 22:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    101

    主题

    192

    帖子

    1645

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    1645
    发表于 2016-7-25 13:52:07 | 显示全部楼层 |阅读模式
    最近在CentOS6.2上安装protobuf2.4.1,编译的时候出现如下错误:
    /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by */3rd-party/protobuf-2.4.1/src/.libs/libprotobuf.so.7)
    /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by */3rd-party/protobuf-2.4.1/src/.libs/libprotoc.so.7)

    1)检查了gcc版本:gcc --version 得到结果gcc (GCC) 4.9.2 已经比较新;
    2)strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX 得到结果:
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    3)sudo  find / -name  libstdc++.so.6* 得到结果:
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyo
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.py
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyo
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.py
    /usr/lib64/libstdc++.so.6.bak
    /usr/lib64/libstdc++.so.6.0.17
    /usr/lib64/libstdc++.so.6.0.13
    /usr/lib64/libstdc++.so.6
    /usr/local/lib64/libstdc++.so.6.0.18
    /usr/local/lib64/libstdc++.so.6.0.18-gdb.py
    /usr/local/lib64/libstdc++.so.6.0.20
    /usr/local/lib64/libstdc++.so.6.0.20-gdb.py
    /usr/local/lib64/libstdc++.so.6

    可以看到,已经有libstdc++.so.6.0.20
    4)ls -al /usr/lib64/libstdc++.so.6 得到结果:
    lrwxrwxrwx. 1 root root 30 11月 16 11:31 /usr/lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6.0.17

    说明虽然gcc已经更新到最新版,但是连接还是旧版本,所以只需要修改连接就可以了。

    解决方案步骤:
    1)sudo cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64
    2)sudo rm -rf /usr/lib64/libstdc++.so.6
    3)sudo ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6

    原文地址:http://www.ithao123.cn/content-10627395.html


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 现在注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|嵌入式之家 ( 京ICP备14038168号-1 )

    GMT+8, 2025-5-2 13:27 , Processed in 0.032595 second(s), 26 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表