IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Perl Discussion :

Problème d'exécution d'un .exe à partir d'un programme Perl Tk contenant des images png ou jpg


Sujet :

Interfaces Graphiques Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Problème d'exécution d'un .exe à partir d'un programme Perl Tk contenant des images png ou jpg
    Bonjour à tous,

    Je cherche comment créer un exécutable à partir d'un programme Perl Tk contenant des objets de type Photo.
    J'ai, en effet dans mon programme, remplacé des boutons avec des images png comme il est indiqué ici : https://perl.developpez.com/faq/tk/?...boutons-Button
    Le programme fonctionne en ".pl" ainsi que le programme en ".exe" fonctionnent bien sur une machine ou l'interprétateur Perl est installé, mais le .exe ne se lance pas sur une machine sans interprétateur Perl.
    Je travaille sur des machines 64 bits avec strawberry 64 bits sur la machine de développement.
    Pour compiler, j'ai testé les lignes de commandes suivantes sans succès :
    pp -g -o cible.exe source.pl
    pp -g -M Tk -M Tk::Photo -o cible.exe source.pl

    Si quelqu'un a une idée, je suis preneur car je ne vois comment je peux faire.

    PS : lorsque je remets des boutons à la place des images le programme en ".exe" fonctionne bien sur les machines sans interprétateur Perl.

    D'avance, merci.
    Tony

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Bonjour,

    Peux-tu enlever l'option -g quand tu crées l'exécutable. Puis tu lances l'exe en ligne de commande et nous affiche les messages d'erreurs s'il y en a.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci de votre réponse rapide.

    Je viens de créer l'exécutable à partir de mon programme en '.pl' comme suit et sans message d'erreur :

    pp -o cible.exe source.pl

    Lorsque je lance l'exécutable, sous Dos, sur une autre machine (sans interprétateur Perl), le message suivant s'affiche :

    C:\Users\xxxx\Documents>Myprog.exe
    Can't load 'C:\Users\xxxx\AppData\Local\Temp\par-6564656e\cache-46701e2947449c8b61807c43b31a71c83d6c170b\6c78816c.xs.dll' for module Tk::JPEG: load_file:Le module spÚcifiÚ est introuvable at C:/Strawberry/perl/lib/DynaLoader.pm line 193.
    at C:/Strawberry/perl/vendor/lib/PAR/Heavy.pm line 123.
    Compilation failed in require at script/Myprog.pl line 8.
    BEGIN failed--compilation aborted at script/Myprog.pl line 8.



    PS : sur la machine de DEV Tk::JPEG est installé

    cpan> install Tk::JPEG
    Fetching with LWP:
    http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
    Fetching with LWP:
    http://cpan.strawberryperl.com/modul...details.txt.gz
    Fetching with LWP:
    http://cpan.strawberryperl.com/modul...odlist.data.gz
    Database was generated on Tue, 30 May 2017 12:18:49 GMT

    Updating database file ...
    Done!
    Tk::JPEG is up to date (4.003).

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -M Tk -M Tk::JPEG -o cible.exe source.pl
    ça donne quoi ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    J'ai exactement le même message d'erreur.
    Une précision, cependant, les images en ".gif" fonctionnent parfaitement. Autrement dit, il y a un problème quand j'utilise :
    use Tk::JPEG et/ou use Tk::JPEG



    Merci !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Bonjour Djibril,

    Puisque cela fonctionne avec le format gif, je vais m'en contenter.
    Cependant, quand j'aurais compris pourquoi j'ai ces messages d'erreur, je ne manquerais pas de partager l'info avec toi, car ce n'est pas évident de savoir quels sont les modules manquants nécessaires à ce type de compilation.

    Je tiens, par ailleurs, à te remercier pour l'ensemble des documents concernant le langage Perl que tu as bien voulu mettre à disposition sur ce site.

    A bientôt,

    Tony

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Bonjour,

    Dès que je trouve la solution, je t'en fais part sur cette discussion.


  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    C'est entendu.
    Merci !

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Bonjour,

    Je viens de faire un test chez moi sur un Strawberry Perl 5.24 64 bits, sur un Windows 10.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/usr/bin/perl 
    use strict; 
    use warnings; 
    use Tk; 
    use Tk::Photo; 
    use Tk::JPEG; 
     
    my $fenetre = new MainWindow( 
      -title      => 'button image', 
      -background => 'white', 
    );     
     
     
    my $objet_image = $fenetre->Photo( -file => 'lama.jpg' ); 
    $fenetre->Button ( 
        -image => $objet_image,  
        -command => sub { exit; }, 
    )->pack(); 
     
    MainLoop;
    Commande de conversion :
    Le .pl et le .exe fonctionne parfaitement. Le premier lancement du .exe est long car mon antivirus fait une vérification des fichiers dll, xs...

    Peux-tu nous afficher Peux-tu aussi afficher ton code et le résultat de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -o cible.exe source.pl -v

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/06/2014, 13h46
  2. Réponses: 7
    Dernier message: 12/06/2009, 16h13
  3. Réponses: 1
    Dernier message: 12/06/2009, 11h42
  4. [Turbo Pascal] Exécution d'un exe à partir d'un autre
    Par direct dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 14/03/2009, 02h27
  5. problème d'exécution dans CMD.EXE
    Par t_aicha dans le forum Windows XP
    Réponses: 1
    Dernier message: 30/05/2007, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo