【问题标题】:PerlApp-generated-exe can't Load packagesPerlApp-generated-exe 无法加载包
【发布时间】:2014-05-20 22:29:42
【问题描述】:

PerlApp 生成可执行的 perl 脚本。我在使用 PerlApp 时遇到问题 步骤如下:

  1. 使用以下 2 行生成 perl 脚本 (e.pl) 需要日期::Manip; 需要 Date::Manip::DM6;
  2. perlapp e.pl --add Date::Manip --add Date::Manip::DM6
  3. e.exe 生成以下错误: c:_test>e.exe 错误加载模块:Date::Manip::DM6 at /Date/Manip.pm 第 35 行。

【问题讨论】:

    标签: perl eclipse-pdt activeperl perlapp


    【解决方案1】:

    您需要添加的不仅仅是 Date::Manip::DM6:

    perlapp --add Date::Manip::** e.pl
    

    通配符表示应添加 Date::Manip 命名空间中的所有子模块,包括一些低于 1 级的子模块。错误是因为 DM6 依赖于这些其他子模块,其中一些似乎是隐含的。

    您也不需要require Date::Manip::DM6,因为这不是您使用该模块的方式。版本 6 会根据您的 perl 版本自动使用,该版本包含在您编译的 exe 中。

    【讨论】:

      【解决方案2】:

      以防万一您遇到XY Problem

      考虑使用pp 而不是PerlApp。以下工作正常:

      use strict;
      use warnings;
      
      use Date::Manip;
      
      print "Hello World\n";
      

      然后包装:

      pp hello_date.pl
      

      【讨论】:

      • 谢谢!。我在 Windows 7 系统上安装 PAR::Packer 时遇到问题。我没有时间讨论这个话题了。所以,我选择了付费解决方案。
      猜你喜欢
      • 2017-11-17
      • 2016-03-08
      • 1970-01-01
      • 2018-03-11
      • 2019-10-16
      • 2017-09-24
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多