首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ActiveState Perl5.8上安装XML::LibXSLT

在ActiveState Perl5.8上安装XML::LibXSLT
EN

Stack Overflow用户
提问于 2011-11-07 22:36:37
回答 2查看 891关注 0票数 0

对于XSLT处理,我尝试使用XML::LibXSLT。我在win32上运行ActiveState Perl。据我所知,在调用'perl Makefile.PL‘之前,我需要首先安装libxslt。

对于win32上的libxslt,二进制文件似乎已经可用,我们可以使用它(因此不需要编译和构建libxslt)。它可以在ftp://ftp.zlatkovic.com/libxml/上找到

因此,我下载了libxslt...zip以及其他依赖项- libxml、iconv和zlib。

但是当我试图使用命令'perl Makefile.PL‘编译它时,我得到了错误信息:

代码语言:javascript
复制
running pkg-config libexslt... failed
    using fallback values for LIBS and INC
    Warning: prerequisite XML::LibXML 1.70 not found. We have 1.64.
    Note (probably harmless): No library found for -llibxslt
    Note (probably harmless): No library found for -llibxml2
    Note (probably harmless): No library found for -lzlib
    Note (probably harmless): No library found for -llibexslt
    Writing Makefile for XML::LibXSLT
    Writing MYMETA.yml and MYMETA.json

正因为如此,后续的'dmake‘命令也会失败,因为它会抱怨缺少头文件。下面是输出:

代码语言:javascript
复制
C:/Perl/site/bin/gcc.exe -c     -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2           -DVERSION=\"1.75\"    -DXS_VERSION=\"1.75\"  "-IC:\Perl\lib\CORE"  -DHAVE_BLANK -DHAVE_BLANK -DHAVE_EXSLT LibXSLT.c
    LibXSLT.xs:12:32: libxslt/xsltconfig.h: No such file or directory
    LibXSLT.xs:13:26: libxslt/xslt.h: No such file or directory
    LibXSLT.xs:14:35: libxslt/xsltInternals.h: No such file or directory
    LibXSLT.xs:15:31: libxslt/transform.h: No such file or directory
    LibXSLT.xs:16:31: libxslt/xsltutils.h: No such file or directory
    LibXSLT.xs:17:29: libxslt/imports.h: No such file or directory
    LibXSLT.xs:18:32: libxslt/extensions.h: No such file or directory
    LibXSLT.xs:19:30: libxslt/security.h: No such file or directory
    LibXSLT.xs:21:28: libexslt/exslt.h: No such file or directory
    LibXSLT.xs:22:34: libexslt/exsltconfig.h: No such file or directory
    LibXSLT.xs:24:30: libxml/xmlmemory.h: No such file or directory

您能告诉我我遗漏了什么配置/设置吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-11 16:01:41

我不使用zlatkovic二进制文件,但原理是相同的,要么将.a/.h文件复制到有其他.a/.h文件的地方,要么告诉Makefile.PL在哪里可以找到它们。我是通过编辑Makefile.PL来实现的

代码语言:javascript
复制
$config{LIBS}='-l....\lib\libxml2.a -l....\lib\libiconv.a';
$config{INC}='-I....\include\libxml2';
$config{DEFINE} =' -DLIBXML_STATIC -static-libgcc ';
WriteMakefile(...
票数 0
EN

Stack Overflow用户

发布于 2011-11-09 00:20:52

这个警告令人担忧(我会考虑升级XML::LibXML模块),但真正的问题是Makefile没有指向libxslt头文件的正确包含路径。找到二进制安装程序将它们放在系统上的位置,然后修改Makefile以指向它们的位置。或者在Makefile正在查找其include目录的位置重新安装libxml (确保您有应该包含头文件的'dev‘版本)。这应该可以解决您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8037926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档