我正在尝试在Mac OS X Mavericks上构建php gettext模块。
使用brew install gettext
安装了gettext,并在/usr/local/opt/gettext
处提供了已检查的头文件。
$ ls /usr/local/opt/gettext/include/
autosprintf.h gettext-po.h libintl.h
在How to override environment variables when running configure?帖子的帮助下,我执行了./configure LDFLAGS='-L/usr/local/opt/gettext/lib/' CPPFLAGS='-I/usr/local/opt/gettext/include/'
来收到此错误消息。
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... re2c
checking for re2c version... 0.13.6 (ok)
checking for gawk... gawk
checking for GNU gettext support... yes, shared
configure: error: Cannot locate header file libintl.h <--
这有什么问题?为什么在我指定目录时配置找不到头文件?
答案 0 :(得分:3)
查看./configure脚本,我注意到脚本没有查看我给出的环境变量。我刚刚修改了脚本(第4067行)以使其工作。
if test "$PHP_GETTEXT" != "no"; then
for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
test -r $i/include/libintl.h && GETTEXT_DIR=$i && break
done
答案 1 :(得分:2)
编译php时,你可以传递--with-gettext = / usr / local / opt / gettext作为配置命令的选项 - 这就是设置$ PHP_GETTEXT变量的原因。
答案 2 :(得分:0)
一般需要在'/usr/include'中指定引入文件的目录
if test -f "/usr/include/WeWorkFinanceSdk_C.h" && test -f
"/usr/include/libWeWorkFinanceSdk_C.so"; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR(cannot find WeWorkFinanceSdk_C.h in path ${PHP_WXWORK_FINANCE_SDK})
fi