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位类似)