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 --enable-fpm
2、 修改 Makefile 文件:搜索 -liconv,应该是在 EXTRA_LIBS = 这一行里,将    其替换为 /usr/local/opt/libiconv/lib/libiconv.dylib
3、 make
4、 sudo make install
原文地址:https://www.cnblogs.com/zgxblog/p/13305599.html