(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
C 編譯問題集合(一)
error no match for operator operand types are std basic ostream and 我將自己的 貼上來 std cout the volume of a 0 is 其中volume是我定義的乙個函式 int volume 當時反覆檢查輸出覺得沒有錯...
OGRE 原始碼編譯問題 集合
ogre 原始碼編譯。怕有人找不到 標題中加 choose rendering subsystem 方便 搜尋哈。如果你的ogre 1.7 原始碼不能編譯通過,且你使用的 vs2005 那麼請看下面的 解決步驟 1 檢查是否安裝了所需要的補丁?vs2005 需要安裝 一下兩個補丁。vs80sp1 k...
編譯原理 First集合和Follow集合的求法
first集合的求法 first集合最終是對產生式右部的字串而言的,但其關鍵是求出非終結符的first集合,由於終結符的first集合就是它自己,所以求出非終結符的first集合後,就可很直觀地得到每個字串的first集合。1.直接收取 對形如u a 的產生式 其中a是終結符 把a收入到first ...