1. 程式人生 > 實用技巧 >php make編譯時,iconv 報錯

php make編譯時,iconv 報錯

報錯內容:

  

 1 Undefined symbols for architecture x86_64:
 2   "_libiconv", referenced from:
 3       _php_iconv_string in iconv.o
 4       __php_iconv_strlen in iconv.o
 5       _zif_iconv_substr in iconv.o
 6       __php_iconv_strpos in iconv.o
 7       _zif_iconv_mime_encode in iconv.o
 8       __php_iconv_appendl in iconv
.o 9 _php_iconv_stream_filter_append_bucket in iconv.o 10 ... 11 "_libiconv_close", referenced from: 12 _php_iconv_string in iconv.o 13 __php_iconv_strlen in iconv.o 14 _zif_iconv_substr in iconv.o 15 __php_iconv_strpos in iconv.o 16 _zif_iconv_mime_encode in iconv
.o 17 __php_iconv_mime_decode in iconv.o 18 _php_iconv_stream_filter_factory_create in iconv.o 19 ... 20 "_libiconv_open", referenced from: 21 _php_iconv_string in iconv.o 22 __php_iconv_strlen in iconv.o 23 _zif_iconv_substr in iconv.o 24 __php_iconv_strpos in iconv
.o 25 _zif_iconv_mime_encode in iconv.o 26 __php_iconv_mime_decode in iconv.o 27 _php_iconv_stream_filter_factory_create in iconv.o 28 ... 29 ld: symbol(s) not found for architecture x86_64 30 clang: error: linker command failed with exit code 1 (use -v to see invocation) 31 make: *** [sapi/cli/php] Error 1

解決方法:

  

1、 ./configure  --prefix=/usr/local/php --with-mysqli=mysqlnd --enable-mysqlnd --with-iconv=/usr/local/opt/libiconv
2、 修改 Makefile 檔案:搜尋 -liconv,應該是在 EXTRA_LIBS = 這一行裡,將    其替換為 /usr/local/opt/libiconv/lib/libiconv.dylib
3、 make
4、 sudo make install