gpt4 book ai didi

perl - 无法编译我的 perl 脚本。让一切正常工作的最简单方法是什么?

转载 作者:行者123 更新时间:2023-12-02 10:48:45 24 4
gpt4 key购买 nike

我在编译我的 perl 脚本时遇到了很多麻烦。
我在脚本中使用了各种模块:

use fetchinfo; #which I wrote so it's in the same directory as my script
use threads;
use threads::shared;
use Tk;
use Fcntl ':flock';

并且 fetchinfo.pm 也使用这个模块:
use WWW::Mechanize;
use URI::Escape;
use Date::Calc qw(Delta_Days);
use LWP::Simple;
use HTML::Parser;

我的机器上安装了 ActivePerl(64 位 Win 7)。

我正在尝试编译我的代码并使其成为一个独立的 .exe 文件(尽管能够为其他系统编译也很棒(因为我认为我的代码不使用任何系统特定的功能)。

我不介意安装虚拟机(如果需要 32 位 win 或 linux),我不介意安装 Strawberry perl 而不是 ActivePerl ...我只想能够编译代码 :-)

尝试使用 perl2EXE 它说它找不到一些模块(尽管每个模块都是由 ppm 安装的)。我尝试使用 Perl Packager (PAR::Packer) 在 linux 上进行编译(因为它没有显示在 ppm 上,而且我无法以任何其他方式安装它)但是创建的文件不起作用。

... 帮助? :-)

最佳答案

你知道所有perl2exe是创建一个包含所有源文件的 perl 解释器可执行文件的副本(可能处于编译状态,我不确定)?
我建议您使用 PAR package 相反,它将构建一个包含所有可以从 perl 运行的必要源的单个存档文件。命令行。
如果您绝对必须有一个可执行镜像,请查看 PAR::Packer 反而。

更新

I actually want this program to run on computers without perl installed on them. I understood I have to compile my code for this to work. PAR package doesn't do that, right?


不,您不必编译 Perl 源代码即可将其放入包中。这样做会适得其反,因为加载时间往往会由于额外的 ByteLoader 而增加。解释生成的解析树所必需的模块。

I actually need help installing and using PAR::Packer since I couldn't install it on ActivePerl on windows and the executable it made for me on linux didn't work on windows 64-bit. So I'm doing something wrong


我没有 ActivePerl 的实例,但是 Par::Packer在 Strawberry Perl 5 16.2 版上安装良好并通过所有测试。请理解,您无法在一个系统上构建将在不同平台上运行的可执行文件。这适用于每种语言,而不仅仅是 Perl。您需要在与您的目标兼容的系统上使用 Perl 的工作版本,以便能够构建可以在其他地方工作的可执行文件。

关于perl - 无法编译我的 perl 脚本。让一切正常工作的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com