【发布时间】:2016-05-02 10:19:13
【问题描述】:
我在 Windows 上自己编译 libxml2 和 php。但不知何故,libxml 在 PHP 中没有启用。我正在这样做:
1) 我正在编译 libxml2 静态文件。这是在构建脚本的帮助下完成的。我正在编译 libxml2 四次:(x32/x64)和(发布/调试)。我将在这里展示 x32 / release 的构建脚本的一部分,您可以在其中看到 libxml2 是如何编译的:
cscript configure.js prefix=%WORKD_IR% include="%ICONV_INCLUDE_DIR%" lib="%ICONV_LIB_DIR_32%" static=yes debug=no
nmake /f Makefile.msvc
robocopy "bin.msvc" "%BIN32_DIR%" *.dll *.exe
robocopy "bin.msvc" "%LIB32_DIR%" *.lib
2) 在构建脚本中,为了编译 php 5.6.20,我通过 configure 参数 --with-extra-includes 和 --with-extra-libs 添加了 libxml2 的库和包含目录。而且,我还在脚本configure中添加了这些参数:
...
--with-libxml=static^
--with-simplexml=static^
--enable-xmlreader^
--with-dom^
但不知何故,当我查看构建脚本的输出时,我发现 libxml 未启用:
...
WARNING: dom support can't be enabled, libxml is not enabled
...
WARNING: soap not enabled, libxml not found
...
那么,为什么没有启用 libxml2?我在这里缺少什么?它们都是用 Visual Studio 2015 编译的。
【问题讨论】: