在ActivePerl上编译WWW :: Curl

时间:2011-03-23 00:06:32

标签: perl windows-7 libcurl nmake activeperl

我正在(拼命)尝试将最新版本的WWW :: Curl构建/安装到我的activeperl盒子上(稍后我会解释为什么我不使用PPM)

我必须按照此处的说明进行一些修改: http://cpansearch.perl.org/src/SZBALINT/WWW-Curl-4.15/README.Win32

我还必须更改以下行:

自:

open(H_IN, "-|" "gcc", "$curl_h") and $has_cpp++;

要:

open(H_IN, "gcc $curl_h") and $has_cpp++;

我终于得到了perl Makefile.PL,但是现在,当我运行nmake时,我得到以下内容:

Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
NMAKE:  fatal error U1077:  'C;|windows\system32\cmd.exe' : return code '0xff'
Stop.

现在,我试图编译它而不是使用u.winnipeg提供的PPM的原因是因为PPM似乎不支持SSL事务(我得到“libcurl:ssl disabled”)现在,如果任何人都可以告诉我如何让ssl在这个PPM上运行,我非常乐意使用它。

非常感谢您提前

3 个答案:

答案 0 :(得分:1)

我认为原件是

open(H_IN, "-|", "gcc", "$curl_h")

你必须改变它的原因是因为没有人在Windows中实现功能。将其更改为

open(H_IN, qq{gcc "$curl_h" |})

为编译器使用正确的名称和语法。

答案 1 :(得分:1)

好吧,我终于明白了,感谢所有回复的人。我必须改变一些事情。

使用http://cpansearch.perl.org/src/SZBALINT/WWW-Curl-4.15/README.Win32作为指南:

我上面打开的cmd运行正常。但是,我确实使用了ikegami,reinierpost和mob。返回的建议。

使用nmake / n(由socket puppet建议),它打印出所有正在执行的perl语句。我接受了这个输出并将其放入.bat文件并更正了perl语法。

我更改了

的所有实例
pm_to_blib({{@ARGV}

pm_to_blib({@ARGV}

(令人不安的是这些被退回)

然后,我不得不将libcurl库链接到实例化g ++的每一行,它们没有正确链接。在我添加这些引用之后,其他一切都很顺利。

补充说:

C:\lc\curl\lib\libcurl.a C:\lc\curl\lib\libcurldll.a

现在,WWW :: Curl很高兴在我的系统上运行。

至于使用PPM版本,正是因为SSL我必须升级。最新版本的WWW :: Curl是4.15,ppm版本是(我相信)3.02。

答案 2 :(得分:0)

首先,很多人不知道你可以use ppm to install MinGW to use cpan to install modules

其次,如果您的模块提供的libcurl不执行SSL,您可以尝试将其替换为suitable SSL version from the download page。这可能会失败,但你可能也很幸运。