今天重新編譯以前的一個(gè)程序,里面用到iconv庫(kù):gcc test.cc -liconv
運(yùn)行時(shí):a.out:error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
以前編譯運(yùn)行是可以的,可能是不久前升級(jí)了iconv庫(kù)影響。在/usr/local/lib下可以找到libiconv.so.2,把/usr/local/lib加到路徑中也不行。
google了一下,解決了:在/etc/ld.so.conf中加一行/usr/local/lib,運(yùn)行l(wèi)dconfig。再運(yùn)行a.out,行了。
ld.so.conf和ldconfig是維護(hù)系統(tǒng)動(dòng)態(tài)鏈接庫(kù)的。真不明白為什么iconv庫(kù)安裝時(shí)不把這一步也做了。
//注意
如果你不是root,ldconfig也運(yùn)行不了的,解決的方法就是,設(shè)置環(huán)境變量 LDFLAGS=-L/usr/local/lib