请问怎样perl程序文件编译成可执行文件
发布网友
发布时间:2022-04-12 20:09
我来回答
共4个回答
热心网友
时间:2022-04-12 21:38
于是就有此问。答案:在Linux下可以使用PerlCC(本身就随着PERL有的),他是把PERL转换成C语言,然后编译它。
如果在Windows下可以使用perl2exe(找破解版),建议使用PERLAPP(也就是ActivePERL的PDK套件),功能非常强大,不过是商业软件,也可以去找一个破解版本(最新版是5.3XXX).
PDK可以把PERL脚本编译成常规应用程序/WINDOWS SERVICE/工具栏程序等等.功能非常强大.也就是说你利用PERL编写的脚本,在Windows上面做一服务程序,完全没有问题.
热心网友
时间:2022-04-12 22:56
可以使用PERL2EXE,这是一个软件,把PERL程序转换为EXE,可以独立执行。
热心网友
时间:2022-04-13 00:31
一般创建的exe的方法如下:
1.使用 perl2exe 工具(需要购买)
2.使用 ActiveState 公司的 Perl Dev Kit (需要购买)
那么有没有免费的方案呢?
今天发现的方法就可以完全满足大家。
首先我们安装需要的模块,这里以 windows 平台下的 ActivePerl 为例
(Windows 下的最通用发行版本)。
打开 ppm,安装一下模块:
Parse-Binary, Win32-Exe, Mole-ScanDeps, PAR-Dist, PAR
安装PAR比较麻烦,这里是如何安装,以及如何解决碰到的问题:
第一步:ppm install par
这个比较简单,当然如果幸运的话,你应该可以直接使用par了,但是我没有那么幸运,因为安装之后找不到pp.bat,实际上这是ActivePerl的问题,没办法只能往下继续了。
第二步:重新安装par-packer
不过之前要更新一个模块File-Temp,我原来的版本是0.12,太低,换成0.18的
ppm install http://www.bribes.org/perl/ppm/File-Temp.ppd
然后安装par-packer 0.975
ppm install http://www.bribes.org/perl/ppm/PAR-Packer.ppd
第三步:这时已经可以使用pp.bat了,但是你会发现pp不能生成exe文件,总是报
erl lib version (v5.8.8) doesn't match executable version (v5.8.6)的错误,
原因在于二进制不兼容,需要继续修改。
第四步:下载5.8.8的par-packer
http://www.perl.com/CPAN/authors/id/S/SM/SMUELLER/PAR-Packer-0.975-MSWin32-x86-multi-thread-5.8.8.par
第五步:从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生成的可执行文件比较大,这是个缺点)
我在按照以上步骤安装PAR后,发现还是不能生成exe文件,错误信息如下:
The procere entry point perl_sv_2iv_flags could not be located in the dynamic link library perl58.dll
这个问题应该是ActiveState的版本问题,我的komodo版本是3.5.2,google了一下,发现有解决方案:
For ActiveState build 822 you can download the PAR dist from
http://backpan.perl.org/authors/id/S/SM/SMUELLER/PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par
and install it with:
perl -MPAR::Dist -e"install_par( 'PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par' )
也就是说,上面的第四步,应该到perl -MPAR::Dist -e"install_par(
'PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par' )
去下载PP。继续第五步。跳过第六步。直接在命令行中运行pp命令即可。不过需要注意的是,命令行中需要使用pp.bat的完整路径,否则会出现pp
is not recongnized as an internal or external command的错误。