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 script Perl Gtk2 -> .exe standalone


Sujet :

Interfaces Graphiques Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut Problème script Perl Gtk2 -> .exe standalone
    Bonjour.

    Je suis étudiant en bioinformatique et j'aurais besoin d'un peu d'aide concernant un projet.

    J'ai écrit un script en Perl utilisant Gtk2 pour l'interface graphique et d'autres modules (GD::Graph).

    On me demande de réaliser cette application de manière à avoir uniquement un exécutable (.exe) standalone (sans avoir à installer quoi que se soit pour l'utiliser) qui sera utilisé sur des machines Windows.

    1 - Selon vous, est-ce possible ? Ou bien il faudra à un moment ou à un autre installer Gtk2 ou Perl sur les machines utilisant l'application ?

    2 - Comment créer mon .exe contenant tous les modules nécessaires ?

    J'ai essayé de générer un .exe à partir de mon script à l'aide de PAR :: Packer (pp). Mon .exe a bien été généré cependant je pense que les modules utilisés par le script n'ont pas été ajouté à l'exécutable.
    Quand j'essaie de lancer mon application, j'ai le message suivant qui s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Le point d'entrée de procédure g_ascii_strtoll est introuvable dans la bibliothèque de liens dynamiques libglib-2.0-0.dll."
    Faut-il ajouter les modules nécessaires manuellement dans la ligne de commande servant à générer mon .exe ? Car j'ai seulement utilisé cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -o testData.exe Data.pl -v
    En vous remerciant, et en vous souhaitant une bonne année 2012 !

  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,

    Quelle version des modules PAR et PAR::Packer utilisez-vous ?
    Sous quel OS travaillez-vous et quelle est votre version de Perl ?
    Avez-vous lu cet article ?

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut
    Bonjour.

    Voici les versions des modules :

    Perl : v5.10.1
    PAR : 1.005
    PAR :: Packer : 1.012

    Je développe sous Windows 7.

    J'ai essayé d'utiliser PAR :: Packer mais j'ai le message suivant qui s'affiche lorsque j'essaie de compiler un exécutable :

    Packing DataAnalyzer.pl
    Generating a fresh 'parl'.
    Failed to extract a parl from 'PAR::StrippedPARL::Static' to file 'C:/Users/Matt/AppData/Local/Temp/parlpPjMf15.exe' at C:/Perl/site/lib/PAR/Packer.pm line 1169, <DATA> line 1.
    J'avais donc essayé de compiler mon exécutable avec Perl2Exe.
    Cependant j'ai le message précisé dans mon premier post.

    J'ai trouvé le fichier libglib-2.0-0.dll sur mon DD dans le dossier C:/GTK/bin/, je l'ai donc copié et collé dans le même répertoire que mon exécutable généré avec Perl2Exe.
    Le message d'erreur a alors changé, me précisant alors que le point d'entrée introuvable se situait cette fois sur le fichier p2x5101.dll qui est présent dans le répertoire de perl2exe. J'ai essayé de le coller dans le répertoire de mon exécutable généré avec perl2exe mais le message d'erreur persiste.

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut
    Bonjour.

    J'ai ajouté l'option "-l" pour préciser qu'il faut ajouter des fichiers .dll au fichier .exe.

    Lorsque j'essaie de lancer mon fichier .exe, j'ai un message d'erreur comme dans mon post précédent pour plusieurs fichiers .dll même si je les ajoute avec l'option -l.

    Je ne parviens pas à faire mon exécutable avec les modules et/ou fichiers .dll nécessaires ...

  5. #5
    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
    Pouvez-vous nous montrer la commande pp exact que vous lancez.

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut
    Oui bien sûr. La voilà :

    pp monScript.pl -o essai.exe -g -l libglib-2.0-0.dll -l libgcc_s_dw2-1.dll -l libpango-1.0-0.dll -l libgobject-2.0-0.dll -l libpangocairo-1.0-0.dll -l libpangoft2-1.0-0.dll -l libpangowin32-1.0-0.dll -l libcairo-2.dll -l freetype6.dll -l libpng14-14.dll -l Cairo.dll -l Glib.dll -l libgdk-win32-2.0-0.dll -l libgio-2.0-0.dll -l zlib1.dll -l libgdk_pixbuf-2.0-0.dll
    En sachant que je lance cette commande depuis le répertoire où se situe mon script Perl, ainsi que les fichiers .dll utilisés (je les ai copiés dans ce répertoire pour simplifier les chemins des fichiers).

    Et en fait, j'ai trouvé ces fichiers DLL car quand j'exécutais mon .exe il me disait qu'il ne trouvait pas les fichiers .dll cités ici. Donc à chaque fois j'ai exécuté, copié le .dll correspondant dans le répertoire, et modifié ma commande. Jusqu'au moment où le message d'erreur continue à m'indiquer que le fichier libgdk-win32-2.0-0.dll ne peut pas être trouvé, bien qu'il soit copié dans le répertoire de mon script Perl.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème script perl lancé par php sur un serveur
    Par Landraille dans le forum Web
    Réponses: 1
    Dernier message: 12/03/2013, 14h37
  2. problème script Perl
    Par scrathi dans le forum Programmation et administration système
    Réponses: 15
    Dernier message: 17/03/2010, 11h48
  3. Problème script perl avec STDIN
    Par deimosfr dans le forum Langage
    Réponses: 2
    Dernier message: 23/07/2009, 10h22
  4. Problème Script Perl : Proxy Authentication Required
    Par Flipmode dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2009, 17h23
  5. Problème execution script perl
    Par 00sebbe dans le forum Apache
    Réponses: 1
    Dernier message: 29/08/2005, 14h43

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