首页 > 代码库 > 编译问题集合
编译问题集合
(1)链接提示 "/usr/bin/ld: cannot find -lz"
#yum install zlib-devel
(2)warning: "this decimal constant is unsigned only in ISO C90"
原因是,c语言里面的常量默认是一个32位的有符号整型数。如果整数常量无法用32位的有符号整型数表示,所以会报警告。
解决方法是在整数常量后面加上 UL或者L , 比如:600000000UL
(3)version `GLIBCXX_3.4.21‘ not found
系统原始的c/c++库是老版本的,放置在 /usr/lib/ 下
#strings /usr/lib/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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
lrwxrwxrwx. 1 root root 19 Nov 30 2013 libstdc++.so.6 -> libstdc++.so.6.0.13
-rwxr-xr-x. 1 root root 942040 Nov 21 2013 libstdc++.so.6.0.13
由于升级了gcc 5.2.0,放置在 /usr/lib/ 下
#strings /usr/local/lib/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_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
重新软连接一下libstdc++.so
#mv ./libstdc++.so.6 ./libstdc++.so.6.bak
#ln -s /usr/local/lib/libstdc++.so.6.0.21 libstdc++.so.6
本文出自 “清风徐来” 博客,请务必保留此出处http://cui918.blog.51cto.com/5884562/1877401
编译问题集合