解決usr/bin/ld: cannot find -lxxx的錯誤
通常在軟體編譯時出現的usr/bin/ld: cannot find -lxxx的錯誤或者…so undefine xxxx,主要的原因是庫檔案並沒有匯入的ld檢索目錄中。
解決方式:
1. 確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定義的lib下有無lib123.so, 如果只是存在lib123.so.1,那麼可以通過sudo ln -sv lib123.so.1 lib123.so,建立一個連線重建lib123.so(快捷方式).
2. 檢查sudo gedit /etc/ld.so.conf中的庫檔案路徑是否正確,如果庫檔案不是使用系統路徑,/usr/lib, /usr/local/lib, 那麼必須在檔案中加入.
3. sudo ldconfig 重建ld.so.cache檔案,ld的庫檔案檢索目錄存放檔案。尤其剛剛編譯安裝的軟體,必須執行ldconfig,才能將新安裝的庫檔案匯入ld.so.cache.
4. 測試,sudo gcc -l123 --verbose.
相關推薦
解決usr/bin/ld: cannot find -lxxx的錯誤
轉載自 參考 通常在軟體編譯時出現的usr/bin/ld: cannot find -lxxx的錯誤或者…so undefine xxxx,主要的原因是庫檔案並沒有匯入的ld檢索目錄中。 解決方式: 1. 確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local
編譯時遇到 /usr/bin/ld: cannot find -lxxx 錯誤的解決方法
本文介紹下,在編譯軟體時,提示usr/bin/ld: cannot find錯誤的解決方法,有需要的朋友參考下。 原因:庫檔案並沒有匯入的ld檢索目錄中。 解決方法: 1、確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local/lib,
解決/usr/bin/ld: cannot find -lmysqlclient錯誤
類似/usr/bin/ld: cannot find -xxxx的錯誤有很多, 首先我們可以最簡單的判斷一下: 這類情況一般是由於缺乏某某庫檔案, 又或者可能是由於已存在的庫問題版本不對造成的 一般都是解決的辦法就是安裝缺乏的devel包就可以解決, 當然還有其他的未知因素, 我們看一個例項: 我在一臺裝c
/usr/bin/ld: cannot find -lxxx 的解決辦法
建立 html 解決方法 gcc bash 存在 cannot 重建 ext 在軟件編譯過程中,經常會碰到類似這樣的編譯錯誤: /usr/bin/ld: cannot find -lhdf5 這表示找不到庫文件 libhdf5.so,若是其它庫文件,則是 cannot
/usr/bin/ld: cannot find -lxxx 的解決辦法 新增動態連結庫的搜尋路徑
/usr/bin/ld: cannot find -lxxx 的解決辦法 在軟體編譯過程中,經常會碰到類似這樣的編譯錯誤: /usr/bin/ld: cannot find -lhdf5 這表示找不到庫檔案 libhdf5.so,若是其它庫檔案,則是 cannot find -lxxx 了
Linux環境下gcc靜態編譯/usr/bin/ld: cannot find -lc錯誤原因及解決方法 原因:
原因: 一般出現這個問題的時候,Makefile中肯定有-static選項。這其實是靜態連結時沒有找到libc.a。 解決方案: 需要安裝glibc-static.xxx.rpm,如glibc-static-2.12-1.107.el6_4.2.i686.rpm,或是yum install gli
/usr/bin/ld: cannot find -lcrypto 錯誤的解決方法
Linux下 build code 時,要做 -lssl, -lcrypto 的連結,出現類似下面的錯誤: /usr/bin/ld: cannot find -lcrypto /usr/bin/ld: cannot find -lssl 原因是沒有找到 libss
關於usr/bin/ld: cannot find -lxxx問題總結
linux下編譯應用程式常常會出現如下錯誤: /usr/bin/ld: cannot find
【error】非root使用者解決/usr/bin/ld: cannot find -lxx缺失庫函式安裝
錯誤前提:安裝caffe, make時報錯,是依賴項的問題。 一. 出現/usr/bin/ld: cannot find -lxxx錯誤的三種原因 1 系統沒有安裝相對應的lib2 相對應的lib版本不對3 lib(.so檔)的symbolic link 不正確,沒有連
轉載 :make報錯:"/usr/bin/ld: cannot find -lXXX"
/usr/bin/ld: cannot find -lxxx問題總結 linux下編譯應用程式常常會出現如下錯誤: /usr/bin/ld: cannot find -lxxx 意思是編譯過程找不到對應庫檔案。其中,-lxxx表示連結庫檔案 libxxx.
解決/usr/bin/ld: cannot find XXX
解決: /usr/bin/ld: cannot find -levent collect2: ld returned 1 exit status make: *** [lfcserver] Error 1 檢視本地 locate libevent cd /usr/lib/
CentOS安裝Qt編譯錯誤以及無法除錯的問題解決( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)
CentOS安裝Qt編譯錯誤以及無法除錯的問題解決 1、前提 系統: CentOS-6.5-x86_64-minimal.iso 最小化linux. 手動安裝x-winodws介面。 Qt版本:qt-opensource-linux-x64-5.6.0.run。 安裝qt需
usr/bin/ld: cannot find 錯誤解決方法
參考:http://blog.siyebocai.cn/20100324_5p424qs7.html 通常在軟體編譯時出現的usr/bin/ld: cannot find -lxxx的錯誤,主要的原因是庫檔案並沒有匯入的ld檢索目錄中。 解決方式:
安裝 sysbench的 報錯 /usr/bin/ld: cannot find -lmysqlclient_r 解決辦法
cli 既然 cannot ibm 這樣的 mysq 文件名 can 都是 首先你需要找到這個庫的位置 一般找的話需要將lib 給加上(註意:我這裏是 -lmysqlclient_r 的報錯,於是我找就找 libmysqlclient_r ) find / -name
編譯時遇到/usr/bin/ld: cannot find -lluajit 解決方法
今天編譯一個c++和torch程式的時候爆出了/usr/bin/ld: cannot find -lluajit的錯誤,幾經折騰,終於吧這個問題解決了, 出現這個問題的原因就是luajit沒有安裝到正確的位置. 1.下載luajit http://luajit.org/download.
vddk 編譯錯誤 /usr/bin/ld:cannot find -lthrift
問題描述 編譯 vddk 時報錯: /usr/bin/ld: cannot find -lthrift collect2: 錯誤:ld 返回 1 make: *** [vddk] 錯誤 1 或者報如下錯誤: In file included fr
/usr/bin/ld: cannot find -lc 解決
[linux_day01]#cc -static hello.c /usr/bin/ld: cannot find -lccollect2: ld 返回 1主要原因是,在安裝Linux時,如果不選擇開發環境,會預設安裝需要的動態庫,但不會安裝靜態庫。如果我們在靜態連線程式時,會找不到libc.a這個基礎靜態庫
gcc連線靜態庫的時候的出現錯誤/usr/bin/ld: cannot find -lc
gcc連線靜態庫的時候出現錯誤提示:/usr/bin/ld: cannot find -lc 具體過程:gcc main.c -o test -Ladd -ladd -Lsub -lsub -Iad
/usr/bin/ld: cannot find -lc 的解決辦法
1. gcc沒有加-static引數 使用find /usr/ -name "libc.so",如果沒有內容搜出來,那麼就是qlibc沒有裝,需要安裝一個。在CentOS-6.2-x86_64-bin-DVD1.iso裡面有qlibc的安裝包。網上很多配yum repo的教
【解決】/usr/bin/ld: cannot find -lc
現象:執行gcc靜態編譯程式時報錯:/usr/bin/ld: cannot find -lccollect2: ld returned 1 exit statusmake: *** [gcc_dry2] Error 1(或者呼叫Makefile編譯時報錯)原因:程式連結需要靜