報錯 undefined reference to ‘libiconv’ undefined reference to ‘libiconv_open’ undefined reference to ‘libiconv_close’
這種報錯一般有兩種情況
一、環境變量裡面的 LIB_LIBRARY_PATH這個預設路徑有問題
輸入指令 $ env|grep LIB 會看LIB_LIBRARY_PATH=/oracle/app/oracle/product/11.2.0/dbhome_1/lib:/usr/lib:/oracle/app/oracle/product/11.2.0/lib32
QTLIB=/usr/lib64/qt-3.3/lib
我的系統裡面能看到這些,各自的系統裡面看到的不一樣,因為每個使用者在庫裡面安裝的庫不一樣,看到的路徑就不一樣
在使用者根目錄下進入環境變量檔案裡面
進入到 .bash_profile 裡面找到 LIB_LIBRARY_PATH 變量在末尾加 ‘:’ 符号,接着加上你要的庫的路徑 例如”:/usr/lib”。
修改好之後儲存重新登入就可以了
二、就是系統沒有這個庫,可以在網上下載下傳 libiconv庫進行安裝
安裝後在重新編譯程式,如果還是同樣的錯誤,請進行第一種情況的操作并在 編譯指令後加 -liconv ,如果makefile裡面也一樣要加
這樣問題就可以解決了