使用CPPFLAGS指定目录时,。/ configure无法找到头文件

时间:2014-01-16 14:50:43

标签: php macos unix gettext configure

我正在尝试在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 <--

这有什么问题?为什么在我指定目录时配置找不到头文件?

3 个答案:

答案 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