今天偶然看到论坛上有人问perl生成exe的问题,就在网上搜了一下,发现不仅仅是perl2exe一种方法,还可以使用par来生成,就自己试验了一下,不过par安装不是很容易,花了一个多小时才把它搞定,记录下来备忘。
第一步:ppm install par
这个比较简单,当然如果幸运的话,你应该可以直接使用par了,但是我没有那么幸运,因为安装之后找不到pp.bat,实际上这是ActivePerl的问题,没办法只能往下继续了。
第二步:重新安装par-packer
不过之前要更新一个模块File-Temp,我原来的版本是0.12,太低,换成0.18的
ppm install
然后安装par-packer 0.975
ppm install
第三步:这时已经可以使用pp.bat了,但是你会发现pp不能生成exe文件,总是报
erl lib version (v5.8.8) doesn't match executable version (v5.8.6)的错误,
原因在于二进制不兼容,需要继续修改。
第四步:下载5.8.8的par-packer
第五步:从par文件中提取
Static.pm和Dynamic.pm两个文件(par可以用zip打开),用这两个文件替换C:\Perl\site\lib\PAR\StrippedPARL目录下的同名文件。
第六步:打开C:\Perl\site\lib\PAR\StrippedPARL目录下的base.pm,将第71行修改为
my @libs = (map {"-I\"$_\""} @INC);
第七步:执行pp -o t.exe t.pl,一切都OK了。
(par生成的可执行文件比较大,这是个缺点)
阅读(5550) | 评论(0) | 转发(0) |