昨天朋友開(kāi)發(fā)一個(gè)PHP程序,make的時(shí)候提示錯(cuò)誤undefined reference to `libiconv_open',這是什么問(wèn)題呢?其實(shí)是缺少libiconv庫(kù)的原因。
解決的辦法網(wǎng)站很多:
解決方法一:下載安裝libiconv,并安裝
$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
$ tar xzf libiconv-1.14.tar.gz
$ ./configure --prefix=/soft/lib/libiconv-1.14
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
$ tar zxf php-5.4.x.tar.gz
$ cd php-5.4.x-src/
$ ./configure --prefix=/soft/php/php-5.4.x --enable-fpm --with-iconv=/soft/lib/libiconv-1.14
解決方法二:舍棄libiconv模塊
1.編譯php的時(shí)候去除--enable-static選項(xiàng),即可
2.libiconv編譯的時(shí)候指定為靜態(tài)
./configure --prefix=/usr/local/libiconv --enable-static ....
所以綜上不管你是否靜態(tài)編譯php在編譯libiconv的時(shí)候加上參數(shù)--enable-static,libiconv 默認(rèn)是動(dòng)態(tài)加載,php編譯時(shí)如果加enable-static就會(huì)出現(xiàn)問(wèn)題,這樣就一勞永逸了。