20

人们还经常问“我怎样才能编译 Perl?” 而他们真正想要的是创建一个可以在机器上运行的可执行文件,即使他们没有安装 Perl。

我知道有几种解决方案:

  1. IndigoStar的 perl2exe 是商业的。我从未尝试过。它的网站说它可以交叉编译 Win32、Linux 和 Solaris。
  2. 来自 ActiveState 的Perl 开发工具包。它是商业的。几年前我在 Windows 上使用过它,它很好地满足了我的需求。根据其网站,它可以在 Windows、Mac OS X、Linux、Solaris、AIX 和 HP-UX 上运行。
  3. PAR或者更确切地说是PAR::Packer,它是免费和开源的。根据测试报告,它适用于 Windows、Mac OS X、Linux、NetBSD 和 Solaris,但理论上它也应该适用于其他 UNIX 系统。最近我开始在 Linux 上使用 PAR 进行打包,并将在 Windows 上使用它。

其他推荐的解决方案?

4

4 回答 4

12

除了问题中列出的三个工具之外,还有一个名为Cava Packager的工具,由 Mark Dootson 编写,他过去也为PAR做出过贡献。它仅在 Windows 下运行,具有漂亮的 Wx GUI,并且与典型的三个竞争者的工作方式不同,因为它将所有 Perl 依赖项组装在 source / lib 目录中,而不是创建包含所有内容的单个存档。有一个免费版本,但它不是开源的。除了测试,我没有使用过这个。

至于PAR,它确实是一个工具包。它带有一个打包工具,可以对独立的可执行文件进行依赖扫描和组装,但它也可以用来生成和使用所谓的 .par 文件,类似于 Java 的 JAR。它还带有客户端服务器,用于通过网络自动加载丢失的包等。我在YAPC::EU 2008 上的 PAR 演讲的幻灯片对此进行了详细介绍。还有一个活跃的邮件列表:perl dot org 上的 par。

于 2008-09-17T07:23:28.403 回答
5

自从第一次提出这个问题以来已经有一段时间了,但Cava Packager目前可以为 Windows、Linux 和 Mac OS X 生成可执行包。它不再仅限于 Windows。

注意:如我的名字所示,我隶属于 Cava Packager。

于 2011-05-21T16:06:53.897 回答
1

我是一个 Perl 新手,我刚刚下载了 Cava Packager,这是我发现的唯一一个工作。我已经在 Windows XP 上使用 PAR-Packager 尝试过 ActiveState 5.10.1005 和 Strawberry Perl。pp 只是挂在中流并且没有创建可执行文件。

Cava 提供了迄今为止在 Windows 上创建 exe 的唯一解决方案。谢谢。

于 2009-06-14T07:39:36.883 回答
-3

您可以使用perlcc大多数 Perl 发行版附带的工具。我还发现perl2exeActive State 的 Perl 开发工具包对于发布 Perl 应用程序很有用。

于 2008-09-16T21:29:03.667 回答