【问题标题】:Converting Perl script to EXE using Par Packer in Perl在 Perl 中使用 Par Packer 将 Perl 脚本转换为 EXE
【发布时间】:2013-08-31 21:55:27
【问题描述】:

我在 Windows 7 中使用 Perl Par Packer 转换了一个可执行文件。但是当我执行该文件时,它显示了一些错误。

我想我也必须添加模块,但我不确定。我基本上用pp -o sample.exe sample.pl

我使用ActivePerl 5.16。

它作为 Perl 脚本工作正常,但转换为 EXE 文件后,它会因错误而终止。

【问题讨论】:

  • 将 Perl 脚本制作成 exe 的任何替代解决方案
  • Mojo\entries.txt 存在吗?它是包含在您的包中还是相对于文件?我猜 PAR::Packer 只在你的 .exe 中包含了必要的 Perl 东西

标签: perl exe par


【解决方案1】:

您的 perl 包中似乎缺少一些必需的模块(ByteStreams.pm、Collection.pm、DOM.pm)。

尝试使用 ppm(perl 包管理器)下载并安装它们。
1. 按开始按钮,输入 perl
2. 点击 ppm 标志
3. 从搜索框中搜索模块名称
4. 安装。

如果授权失败,请尝试通过命令提示符安装。

  1. 打开cmd。
  2. 类型:ppm install '模块名称'
  3. 重建您的 exe 并运行。

【讨论】:

  • 我已经使用上述方法和cpan Mojo::DOM等安装了模块,仍然无法正常工作
【解决方案2】:

通过在独立执行文件的相同位置添加 Mojo 模块来解决此问题

【讨论】:

  • 您确定所有需要的模块在您运行“pp”时都在您的路径中吗?这可能只是一个路径问题。
【解决方案3】:

我喜欢 perl,我也喜欢 C/C++。为了两全其美, 我写了一个github项目来解决这个问题。

请看: https://github.com/tlqtangok/perlcpp

这里有一个简短的例子:

P_eval("$a=2;$a=$a**10;"); 
Int("a") ;   // a= 1024  

P_eval("$a=qq(abc);

P_eval("@arr=(0..9);"; 
P_arr_Int_i("arr", 8 );  // => 8

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多