0

这真的很奇怪,有人可以解释为什么 GCC 在安装XML::LibXML时找不到包含文件吗?

> cpan PAJAS/XML-LibXML-1.70.tar.gz
...
C:/CPANTE~1/PERL51~1.0_6/site/bin/gcc.exe -c    -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"1.70\" -DXS_VERSION=\"1.70\"  "-IC:\CPANTesters\Perl5.16.0_64\lib\CORE"  -DHAVE_UTF8 -DHAVE_BLANK LibXML.c
LibXML.xs:34:31: fatal error: libxml/xmlversion.h: No such file or directory

> IF EXIST %INCLUDE%\libxml\xmlversion.h ECHO Cogito ergo sum
Cogito ergo sum

这是带有 MinGW64 的 ActiveState 5.16.0 64 位。

我决定放弃使用 Zlatkovic Win32 二进制文件ftp://ftp.zlatkovic.com/pub/libxml/,并使用http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies上提供的 64 位二进制文​​件/

上述问题通过进入解压模块并执行以下命令解决:

> perl Makefile.PL INC=-IC:\CPANTesters\bin\gnome-deps-win64\include LIBS=-LC:\CPANTesters\bin\gnome-deps-win64\lib
> dmake 

但是由于 Perl 在所有测试文件上崩溃,运行 dmake test 会出现问题。

C:\CPANTesters\Perl5.16.0_64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01basic.t ......................... Dubious, test returned 38 (wstat 9728, 0x2600)
Failed 3/3 subtests

关于如何调试的任何想法?

4

3 回答 3

3

XML-LibXMLlibxml2的 Perl 绑定,但它不包括 libxml2 的副本(其中libxml/xmlversion.h一部分)。您必须单独安装它,并确保 Perlgcc可以找到它。 INCLUDE不是.使用的环境变量gcc。它使用CPATHC_INCLUDE_PATH

我提供了在 Microsoft Windows 上从源代码安装 XML-LibXML 的说明。您是否尝试关注他们?

在 Windows 上获取 XML-LibXML 的最简单方法是安装Strawberry Perl。它在包中附带了 XML-LibXML。

于 2012-09-20T07:20:46.727 回答
0

通常,在 Windows 上,最简单的方法是使用为您构建了 LibXML 的存储库。这个问题与您的问题类似:Perl 5.8.8 不支持 XML::LibXML 吗?

于 2012-09-20T12:35:29.550 回答
-1

试试这个,它在centos 6上对我有用,在这样做之后我能够通过CPANM安装其他依赖于XML :: LibXML https://www.question-defense.com/2010/01/27/perl-cpan的模块-install-xmllibxmlcommon-error-libxml2-not-found

于 2018-08-16T22:57:46.807 回答