/usr/bin/ld: 找不到 -lstdc++
编译Linux工程,公司编译环境是CentOS5,可以正常编译。但移到CentOS7就不行了,总是提示:
/usr/bin/ld: 找 不 到 -lstdc++
collect2: 错 误 : ld 返 回 1。
怀疑是搜索库路径不对,使用命令:ld -verbose 查看链接库搜索路径。发现路径中确实没有libstdc++.so.
[root@CentOs7 ~]# ld -verbose
GNU ld version 2.27-44.base.el7_9.1支持的仿真:elf_x86_64elf32_x86_64elf_i386elf_iamcui386linuxelf_l1omelf_k1om
使用内部链接脚本:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
/* Copyright (C) 2014-2016 Free Software Foundation, Inc.Copying and distribution of this script, with or without modification,are permitted in any medium without royalty provided the copyrightnotice and this notice are preserved. */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64","elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib");
使用命令:find / -name libstdc++.* | grep libstdc++, 查看有没有其他相关litstdc++.so
[root@CentOs7 bd]# find / -name libstdc++.* | grep libstdc++
/var/lib/docker/overlay2/685d194cac64d5c34f19fe7d43879f8a4ca596e509e48ba9fe00d05a2652149f/diff/usr/lib64/libstdc++.so.6
/var/lib/docker/overlay2/685d194cac64d5c34f19fe7d43879f8a4ca596e509e48ba9fe00d05a2652149f/diff/usr/lib64/libstdc++.so.6.0.8
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/lib/gcc/x86_64-redhat-linux/4.1.1/libstdc++.a
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.a
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.la
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.so
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.so.6
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.so.6.0.20
/var/lib/docker/overlay2/aa9322b14570f0e5d78deaf7fc2e127b0ab8bfa02c215c0c2dd718effa79fbef/diff/usr/local/lib64/libstdc++.so.6.0.20-gdb.py
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/gcc/i386-redhat-linux/4.1.1/libstdc++.a
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/gcc/i386-redhat-linux/4.1.1/libstdc++.so
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/gcc/x86_64-redhat-linux/4.1.1/32/libstdc++.a
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/gcc/x86_64-redhat-linux/4.1.1/32/libstdc++.so
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/gcc/x86_64-redhat-linux/4.1.1/libstdc++.so
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/libstdc++.so.6
/var/lib/docker/overlay2/d5e0551b37f86c42289d01bed808672414da46b26534aba5780a1097ad6f903f/diff/usr/lib/libstdc++.so.6.0.8
/var/lib/docker/overlay2/a0fdb9be44b142cf924da66827066aa613f3edbbbf067152d7e4d74322554318/diff/usr/lib64/libstdc++.so.6
/var/lib/docker/overlay2/a0fdb9be44b142cf924da66827066aa613f3edbbbf067152d7e4d74322554318/diff/usr/lib64/libstdc++.so.6.0.20
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.a
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.a
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/32/libstdc++.a
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/32/libstdc++.so
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.so
看到还是有很多libstdc++.so。于是在搜索库目录中创建软链接:ln -s <link_path> <source_path>
[root@CentOs7 bd]# ln -s /usr/lib64/libstdc++.so /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
创建完之后发现还是不行,提示找不到。
又看资料说,可能是库版本不对,于是删除该链接,重新创建其他版本的so链接,结果都不行。
那可能就真的没装对应版本的libstdc++.so吧。输入命令:yum install glibc-static libstdc++-static -y,重新安装:
[root@CentOs7 bd]# yum install glibc-static libstdc++-static -y
已加载插件:fastestmirror
Determining fastest mirrors* base: mirrors.huaweicloud.com* centos-sclo-rh: mirrors.bfsu.edu.cn* centos-sclo-sclo: mirrors.bfsu.edu.cn* extras: mirrors.bfsu.edu.cn* updates: mirrors.bfsu.edu.cn
base | 3.6 kB 00:00:00
centos-sclo-rh | 3.0 kB 00:00:00
centos-sclo-sclo | 3.0 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/3): docker-ce-stable/7/x86_64/primary_db | 91 kB 00:00:00
(2/3): centos-sclo-rh/x86_64/primary_db | 3.4 MB 00:00:04
(3/3): updates/7/x86_64/primary_db | 19 MB 00:00:09
正在解决依赖关系
--> 正在检查事务
---> 软件包 glibc-static.x86_64.0.2.17-326.el7_9 将被 安装
---> 软件包 libstdc++-static.x86_64.0.4.8.5-44.el7 将被 安装
--> 解决依赖关系完成依赖关系解决============================================================================================================================================================================================================================================= Package 架构 版本 源 大小
=============================================================================================================================================================================================================================================正在安装:glibc-static x86_64 2.17-326.el7_9 updates 1.6 Mlibstdc++-static x86_64 4.8.5-44.el7 base 413 k事务概要
=============================================================================================================================================================================================================================================安装 2 软件包总下载量:2.0 M
安装大小:11 M
Downloading packages:
(1/2): glibc-static-2.17-326.el7_9.x86_64.rpm | 1.6 MB 00:00:00
(2/2): libstdc++-static-4.8.5-44.el7.x86_64.rpm | 413 kB 00:00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------总计 2.2 MB/s | 2.0 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : libstdc++-static-4.8.5-44.el7.x86_64 1/2 正在安装 : glibc-static-2.17-326.el7_9.x86_64 2/2 验证中 : glibc-static-2.17-326.el7_9.x86_64 1/2 验证中 : libstdc++-static-4.8.5-44.el7.x86_64 2/2 已安装:glibc-static.x86_64 0:2.17-326.el7_9 libstdc++-static.x86_64 0:4.8.5-44.el7 完毕!
安装完后,再编译,一切正常。
建议:如果提示找不到,先重装,确保已经安装了,再说其他的。
/usr/bin/ld: 找不到 -lstdc++相关推荐
- 【XMR】/usr/bin/ld: 找不到 -lstdc++
[XMR]/usr/bin/ld: 找不到 -lstdc++ 报错明细 问题分析 解决办法 后记 报错明细 安装了Centos8.4 minimal版后对xmrig挖矿程序进行无抽水编译,执行: ma ...
- C 编程异常 — /usr/bin/ld: 找不到 -lm
问题:在编程程序的时候报错. /usr/bin/ld: 找不到 -lm /usr/bin/ld: 找不到 -lc 原因:缺少库文件. 解决: yum install -y libstdc++-stat ...
- /usr/bin/ld: 找不到 -lopencv_dep_cudart
make出现/usr/bin/ld: 找不到 -lopencv_dep_cudart错误时候 我们在cmake时候加上参数 cmake -D CUDA_USE_STATIC_CUDA_RUNTIME= ...
- /usr/bin/ld: 找不到 -lmsc----解决方案
/usr/bin/ld: 找不到 -lmsc----解决方案 参考文章: (1)/usr/bin/ld: 找不到 -lmsc----解决方案 (2)https://www.cnblogs.com/fe ...
- cuda8.0 出错:/usr/bin/ld: 找不到 -lGL【转】
本文转自:https://blog.csdn.net/u010159842/article/details/56833030 最近在学习深度学习,在搭建CUDA8.0的时候,出现一个非常不好的问题: ...
- /usr/bin/ld:找不到 -lxxx
编译时报错/usr/bin/ld:找不到 -lxxx 原因是找不到动态库 先定位libxxx.so文件位置: $ locate libxxx.so //如上述找不到 lcv_bridge, 则loca ...
- Linux下/usr/bin/ld: 找不到 -lz
/usr/bin/ld: 找不到 -lz 在Ubuntu20.04下用Makefile编译c文件,首先要下载gcc. 首先进入root权限,输入密码(不会显示,输入回车就好了) 下载gcc apt-g ...
- 解决Make时,“/usr/bin/ld: 找不到 -lXXX”问题的四种方法
比如: /usr/bin/ld: 找不到 -lboost_serialization 可能是英文: /usr/bin/ld:cannot find-lboost_serialization 意思是找不 ...
- ubuntu Make时,“/usr/bin/ld: 找不到 -lXXX”问题的解决方法
比如: /usr/bin/ld: 找不到 -lboost_serialization 可能是英文: /usr/bin/ld:cannot find-lboost_serialization 意思是找不 ...
最新文章
- mysql注册数据库_基于mysql数据库的注册
- Microsoft 火拼 Adobe —— 吴佩孚大战太阳神
- C/C++反序输出字符串总结
- 计算机导论成绩分为几部分,计算机导论复习题(选择部分)汇总.docx
- RMAN CONFIGURE
- 原创 | 科普一个 Star 数为 28.5k 的云原生网关
- 也来谈谈这致命的手机充电器
- omitted for duplicate_EMC_Measurement_and_Reduction_Techniques_for_SwitchMode_Power
- UML之Astah的基本使用教程-1
- python ipad协议_python – 实现AirDrop协议
- 单样本t检验、独立样本t检验、配对样本t检验_python_数据分析_7
- AIX上解压缩.tar.Z, .tar.gz, .zip及.tgz
- 批处理备份及删除,forfiles命令详解
- indesign如何画弧线_钢笔工具怎么绘制弧线?AI钢笔工具用法全解
- 情感日记:想念从未断绝
- Android - 获取移动端设备ID标识,分情况
- 广发银行借记卡调整当月支付次数
- linux压缩文件恢复,Linux文件压缩解压命令
- benchmark sql测试gbase8s
- 搜索图片、文字出处网站
热门文章
- 七夕活动浪漫上线,别让网络拖慢和小姐姐的开黑时间
- 学计算机的男孩情商高吗,男孩情商高的特征,家长快来看看
- 谢谢 留下几个 那个有关于C++既QQ群吖
- Spring boot Mybatis-Plus数据库单测实战(三种方式)
- nRF24L01 无线数传模块之间的区别 干货分析
- 神经网络调参:loss 问题汇总(震荡/剧烈抖动,loss不收敛/不下降)
- 情人节用python来表白女神
- 什么是 Web 应用防火墙(WAF)?
- Mac电脑下好用的mac版远程控制远程桌面软件
- OSChina 周一乱弹 —— 帅气的红薯为何迷倒了万千 OSCers ~~~