编译问题集合


(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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值