Perl cpanm使用自定义LIB和CFLAG

Perl cpanm使用自定义LIB和CFLAG,perl,cpan,xml-libxml,cpanm,Perl,Cpan,Xml Libxml,Cpanm,在我的mac OS X机器上Darwin maci 15.6.0达尔文内核版本15.6.0 我已经在以下自定义目录中安装了libxml2和libxslt /usr/local/MyLibs/libxml2-2.9.2 和libxslt /usr/local/MyLibs/libxslt-1.1.29 现在我想使用这些libs来构建我的CPANM模块 告诉我我可以使用——configure args(它仍然是实验性的)。所以我做了一些类似的事情 cpanm http://search.cpan.o

在我的mac OS X机器上
Darwin maci 15.6.0达尔文内核版本15.6.0

我已经在以下自定义目录中安装了libxml2和libxslt

/usr/local/MyLibs/libxml2-2.9.2

和libxslt

/usr/local/MyLibs/libxslt-1.1.29

现在我想使用这些libs来构建我的CPANM模块

告诉我我可以使用
——configure args
(它仍然是实验性的)。所以我做了一些类似的事情

cpanm http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.94.tar.gz --configure-args="--cflags=-I/usr/local/libxslt-1.1.29/include -I/usr/include/libxml2 -I/usr/local/MyLibs/libxml2-2.9.2/include/libxml2 --libs=-L/usr/local/libxslt-1.1.29/lib -lxslt -lxml2 -lz -lpthread -licucore -lm -L/usr/local/MyLibs/libxml2-2.9.2/lib -lxml2 -lz -lpthread -liconv -lm" --force
但是,构建日志说它没有使用安装在自定义位置的库

有什么我做得不对的吗?

来自发行版

PL尝试确定正确的编译器和链接器 使用pkg config和 xslt配置。如果失败,您可以像这样覆盖这些值

其中INC包含编译器的标志(如-I/some_path/include等),LIBS包含链接器标志(如-L/some_path/lib-llibsomething…)

放弃
cpanm
并自己安装模块可能更简单

curl -L -o - http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.95.tar.gz | tar xz
cd XML-LibXSLT-1.95
perl Makefile.PL INC="..." LIBS="..."
make test
make install

我认为您缺少
--cflags
参数的引号(将多个空格分隔的参数组合在一起时需要用到):

但是,
--cflags
--libs
只是cpanm文档中的示例,发行版的Makefile.PL甚至可能无法识别它们。正如另一个答案所指出的,用于XML::LibXSLT的参数是
INC=“…”
LIBS=“…”
;我认为向cpanm的
——configure args
提供这些参数应该可以:

cpanm --configure-args="INC='…' LIBS='…'"
--configure-args="--cflags='-I/usr/local/libxslt-1.1.29/include -I/usr/include/libxml2 -I/usr/local/MyLibs/libxml2-2.9.2/include/libxml2'"
cpanm --configure-args="INC='…' LIBS='…'"