转自http://i-pogo.blogspot.com/2010/01/usrbinld-cannot-find-lxxx.html
問題:
在linux環境編譯應用程式或lib的source code時常常會出現如下的錯誤訊息:
/usr/bin/ld: cannot find -lxxx
這些訊息會隨著編譯不同類型的source code 而有不同的結果出來如:
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find -lltdl
/usr/bin/ld: cannot find -lXtst
其中xxx即表示函式庫文件名稱,如上例的:libc.so、libltdl.so、libXtst.so。
其命名規則是:lib+庫名(即xxx)+.so。
會發生這樣的原因有以下三種情形:
1 系統沒有安裝相對應的lib
2 相對應的lib版本不對
3 lib(.so檔)的symbolic link 不正確,沒有連結到正確的函式庫文件(.so)
本文详细解释了在Linux环境中编译应用或库源代码时,出现ld无法找到相应库文件错误的原因,并提供了三种可能的解决方法:系统未安装对应库、库版本不匹配或符号链接指向错误。
5984

被折叠的 条评论
为什么被折叠?



