Convertir un .pl en .exe

Convertir un .pl en .exe - Perl - Programmation

Marsh Posté le 02-10-2007 à 12:24:18    

Tout d'habord, je tiens à dire à TAZ de passer son chemin ...ces commentaires, à moins d'être constructif, ne m'interesse pas.
 
Voila, donc j'aimerais convertir un fichier.pl vers un fichier.exe, je suis sur une machine windows, perl5.8 installé
j'ai déja tester PAR,tinyperl,App::packer,Perl2exe ainsi que PerlApp....
 
-  Perl2exe marche tres bien mais c'est une version trial (donc payante)
-  PerlApp est aussi payant ...
-  App::Packer (alias P2e) me fait des erreurs sur le module::info (http://www.perlmonks.org/?node_id=215299), j'ai bien entendu suivit les instructions de la page et telecharger le module :: info modifié du site ... Toutefois, l'erreur perciste :  

Code :
  1. Processing 'warnings::register'
  2. Error while creating Module::Info object for 'mod_perl' at F:/Perl/site/li
  3. Packer/Frontend/ModuleInfo.pm line 123.
  4. Processing 'overload'
  5. Processing 'Scalar::Util'
  6. Processing 'List::Util'
  7. Processing 'XSLoader'
  8. Processing 'DynaLoader'
  9. Processing 'AutoLoader'
  10. Processing 'Config'
  11. Processing 'Config_heavy.pl'
  12. Processing 'ActivePerl::Config'
  13. Processing 'ActiveState::Path'
  14. Processing 'File::Basename'
  15. Processing 're'
  16. Processing 'Term::Cap'
  17. Processing 'constant'
  18. Processing 'Cwd'
  19. Processing 'File::Spec'
  20. Processing 'File::Spec::Win32'
  21. Processing 'File::Spec::Unix'
  22. Processing 'DBI'
  23. Processing 'bytes'
  24. Processing 'bytes_heavy.pl'
  25. B::Module::Info,modules_used use failed with 9 saying:
  26. Undefined subroutine &bytes::import called at F:\Perl\lib\bytes_heavy.pl l


 
- tinyperl quant à lui, me cré bien le fichier excutable mais des que je le test, ca me donne ca :

Code :
  1. Can't locate LWP/Simple.pm in @INC (@INC contains: CODE(0x1905994) F:/tiny
  2. ibzip-tmp/ F:/tinyperl/libzip-tmp/lib/ . ./lib) at (eval 24) line 8.
  3. BEGIN failed--compilation aborted at (eval 24) line 8.


J'ai install grâce à ppm :CGI.ppm et fait différente manip pour essayer de résoudre ce petit problème, rien y fait le message reste le même...
 
- PAR, le fameux 'pp' : je m'arreterai meme pas sur lui, je dois avoir une page d'erreur >_<
 
En fait ce que je voudrais savoir si quelqu'un a déjà réussit à générer un .exe si, oui qu'il me dise comment il a fait, ainsi que les modules et leurs versions utilisées..  :jap:  :jap:  
Je vous remercie d'avance
 
 

Reply

Marsh Posté le 02-10-2007 à 12:24:18   

Reply

Marsh Posté le 02-10-2007 à 12:29:12    

ProjetGTR a écrit :

En fait ce que je voudrais savoir si quelqu'un a déjà réussit à générer un .exe si, oui qu'il me dise comment il a fait, ainsi que les modules et leurs versions utilisées..  :jap:  :jap:

J'utilise PAR pour l'un de mes projets, et je n'ai aucun problème avec. Si tu veux je peux te dire ce soir quelle version j'ai, mais a priori c'est la plus récente provenant de CPAN.
 
Quels types de problèmes as-tu avec PAR ?


---------------
TriScale innov
Reply

Marsh Posté le 02-10-2007 à 12:44:04    

et tu as quel version de perl ?  
 
Je répond à ta question des que j'ai réinstallé tout activeState pour link les erreurs

Reply

Marsh Posté le 02-10-2007 à 15:55:21    

enfait l'erreur était que je n'avais jamais supprimer le répertoire PERL et quand je déinstallais ActitePerl ca me supprimait pas les modules que j'avais moi-même installé... bref si un jour vous avez le même problème penser à supprimer votre répertoire PERL avant de réinstaller une autre version d'activePerl.
 
Ma manip :  
- installation de activePerl 5.8.8:822 sur : http://www.activestate.com/Products/activeperl/
- installation de notre PAR::packer (0.976),  

Code :
  1. ppm install http://theoryx5.uwinnipeg.ca/ppms/PAR-Packer.ppd


- création de votre exécutable F:/perl/site/bin/pp votrefichier.pl -o votrefichier.exe
 
Voila rien de trés compliqué en fait :s, voici un petit site qui repertorie les versions de PAR et PAR::Packer problèmatiques : http://par.wikia.com/wiki/PAR_PPM_Compatibility_List
 
Il me reste toutefois une autre petites question, j'utilisait perlApp avant pour générer mes exécutables, leur tailles avoisinnaient les 5ko alors que la avec le module "pp", je suis à 2.5Mo. Existe t il une solution pour améliorer la rapidité d'excution de mes applications ainsi que leur "compilation" ?? :)


Message édité par ProjetGTR le 02-10-2007 à 16:10:40
Reply

Marsh Posté le 02-10-2007 à 18:20:38    

améliorer je sais pas mais avec UPX (http://upx.sourceforge.net/) on peut réduire la taille

Reply

Marsh Posté le 02-10-2007 à 23:20:56    

J'ai acheté Perl2exe, il marche assez bien, et il est pas spécialement cher ($50 je crois)
La licence me permet de compiler ce que je veux sur une seule machine, et à l'époque j'avais monté un serveur de compilation (envoi d'un pl sur une interface web, compilation, puis envoi du .exe et des logs de compil par email)
C'était assez marrant, j'avais perl2exe exécuté une fenêtre CMD exécutée sur l'émulateur Wine qui était exécuté sur un émulateur X en mode texte, le tout sur un serveur linux... Mais depuis j'ai recyclé le serveur
Enfin tout ca pour dire que j'ai une licence Perl2exe qui tourne avec un activestate 5.8 je crois... si t'as pas de moidules trop exotique ni de mot de passe ou autres trucs sensibles dans ton PL y'a moyen que je te compile ça, et si ca marche bien tu t'achètes une licence (jvais qd meme pas m'amuser à te compiler ca à la main toutes les 2 min)

Reply

Marsh Posté le 03-10-2007 à 09:22:44    

Merci couak,c'est sympathique mais je vais faire avec ce que j'ai pu dénicher ca marche mais c'est un peu lent :)
Je vais regarder du coté de UPX merci à tous

Reply

Marsh Posté le 03-10-2007 à 10:10:01    

IWH

Reply

Marsh Posté le 03-10-2007 à 10:54:23    

Tout d'habord, je tiens à dire à TAZ de passer son chemin ...ces commentaires, à moins d'être constructif, ne m'interessent pas


 
J'ai toujours su que tu étais inutile Taz ... :kaola:


Message édité par ProjetGTR le 03-10-2007 à 11:11:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed