2 Stimmen

PerlApp-generierte-executable kann Pakete nicht laden

PerlApp generiert Perl-Skript zu ausführbarem. Ich habe ein Problem bei der Verwendung von PerlApp. Hier sind die Schritte:

  1. Generieren Sie ein Perl-Skript (e.pl) mit den folgenden 2 Zeilen require Date::Manip; require Date::Manip::DM6;
  2. perlapp e.pl --add Date::Manip --add Date::Manip::DM6
  3. e.exe erzeugt die folgenden Fehler: c:_test>e.exe FEHLER BEIM LADEN DES MODULES: Date::Manip::DM6 in /Date/Manip.pm Zeile 35.

3voto

stevenl Punkte 6696

Sie müssen mehr als nur Date::Manip::DM6 hinzufügen:

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

Die Platzhalter zeigen an, dass alle Untermodule im Date::Manip-Namespace hinzugefügt werden sollten, einschließlich einiger, die mehr als 1 Ebene tiefer liegen. Der Fehler tritt auf, weil DM6 von diesen anderen Untermodulen abhängt, von denen einige anscheinend implizit sind.

Sie müssen auch nicht require Date::Manip::DM6 verwenden, da dies nicht die vorgesehene Verwendung des Moduls ist. Version 6 wird automatisch je nach Ihrer Perl-Version verwendet, die in Ihre kompilierte EXE eingebunden wird.

1voto

Miller Punkte 34837

Falls Sie zufällig unter einem XY-Problem leiden:

Erwägen Sie die Verwendung von pp anstelle von PerlApp. Das Folgende funktioniert einwandfrei:

use strict;
use warnings;

use Date::Manip;

print "Hallo Welt\n";

Und dann verpacken:

pp hello_date.pl

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X