linux排link错误的命令

本文介绍如何使用GCC支持C++11标准,并解决因C++标准库版本不匹配导致的问题。涵盖GCC版本更新、编译选项配置、解决找不到特定C++标准库版本等问题。

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

1. make  >1.txt    (后面接2>&1     ???)  方便查看make的log

2. 查看依赖 ldd xxx.so

3. 查看.a包含哪些.o   ar -vt xxx.a

4. 静态链接 (gcc)     -Wl,-Bstatic            

5. 动态链接 -Wl,-Bdynamic

6. 链接顺序  自己的lib 。。。->  最基本的lib,   依赖关系,从左到右

7. 找不到.so 试试  export LD_LIBRARY_PATH= .so的目录

8. gcc 加上 -Wall (现实所有编辑器报的警告错误)     -W(忽略那些让你编不过的人为#error)

=========================

-std=c++11 需要更新 gcc, 我这里是下的 gcc-4.8

安装好后 gcc -v 查看

运行程序后,报 找不到 GLIBCXX_3.4.15

[root@localhost lib]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX

[root@localhost lib]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX  (64位系统)

会有类似如下提示

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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

那么 ln -sf /usr/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6   (64位,32位类似)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值