7

我必须从 Perl 脚本创建一个 exe。我安装了

ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi

如何安装pp

4

6 回答 6

9

我知道这是一个相对古老的问题,但为了其他人,这里有一个使用 pp (Par Packager)对我有用的解决方案:

  1. 为 windows安装Strawberry Perl(我安装了 Strawberry-perl-5.16.3.1-64bit.msi)
    • 我使用 5.16.3.1 是因为我也想尝试 perl2exe,而我正在使用它(当时的 perl2exe 仅支持最高 5.16.3 版本的 perl)
  2. 安装后,打开 Strawberry Perl 工具(例如通过开始菜单 -> 所有程序 -> Strawberry Perl -> 工具),然后调用 CPAN 客户端
  3. 在打开的客户端控制台中,键入:
    • get pp
    • install pp
  4. 安装完成后,您可以简单地运行:
    • c:\strawberry\perl\site\bin\pp.bat -o myScript.exe myScript.pl
    • 这将生成一个myScript.exe,它是一个独立的可执行文件(不需要外部perl 解释器)

注意:您可以使用-d命令行开关来减小可执行文件的大小。这不会在可执行文件中包含 perl 解释器代码,从而减小了可执行文件的大小,但是您需要在与可执行文件相同的目录中提供perl5x.dll ,或者将其包含在 PATH 环境变量中。

于 2014-12-30T11:39:33.020 回答
8

在解决问题之前1.010,请执行以下操作:

  1. 转到http://search.cpan.org/dist/PAR-Packer/

  2. 从“其他版本”下拉列表中,选择PAR-Packer-1.009并下载它

  3. 解压存档,保留目录结构

  4. perl Makefile.PL

  5. 使用 . 手动安装所有缺少的先决条件ppm。例如ppm install Module::ScanDeps

  6. 安装明威:ppm install MingW

  7. dmake, 那么dmake test, 那么dmake install

稍后,您可以使用GUIPAR::Packer从站点区域中删除并安装固定版本。ppm

于 2011-11-08T21:50:33.217 回答
5

这是一个名为PAR::Packer的 Perl 模块,因此它可以作为任何带有 CPAN 的 Perl 模块安装。不幸的是,您使用的 ActivePerl 与 CPAN 不太兼容。相反,您可以查看是否使用 ActiveState 的Perl 包管理器来安装此模块。

如果该模块无法通过 Perl 包管理器获得,您可以尝试使用 CPAN 命令行实用程序进行安装。打开控制台窗口(开始->附件->命令提示符)并输入cpan并按<ENTER>。当您第一次开始使用 CPAN 时,较新版本的 ActiveState 应该会自动安装所需的编译器等。

我更喜欢Strawberry Perl for Windows,因为它与 CPAN 更兼容。然而,ActivePerl 已经安装了很多 Win32 模块。另外,它带有一个很好的 Perl 包管理器。

警告:ActiveState 安装了很多这些 Perl 脚本,但不是在C:\Perl\bin,但这C:\Perl\Site\bin意味着您必须确保该目录也在您的路径中。

于 2011-11-08T18:22:57.147 回答
1

从 v1.010 开始,软件无法自动打包,详见Trouchelle 的 repo报告。

使用 PPM 安装 CPAN,然后按照Stack Overflow Perl FAQ继续:安装缺少的 Perl 模块的最简单方法是什么?

于 2011-11-08T18:25:47.357 回答
1
ppm install MinGW
cpanp i Win32::Exe PAR::Packer
于 2011-11-11T08:07:46.323 回答
0

除了上面的答案,您还可以使用 cpan 来安装 PAR::Packer。在 Windows 命令提示符下使用命令:cpan install PAR::Packer。注意:我安装了 Strawberry perl。cpan 也会安装模块和依赖项。

于 2016-10-27T15:49:24.583 回答