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

GTK+ Discussion :

Recompiler projet GTK WIn32 avec CodeBlocks


Sujet :

GTK+

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 63
    Points : 35
    Points
    35
    Par défaut Recompiler projet GTK WIn32 avec CodeBlocks
    Bonjour,

    Je voudrais réussir à compiler avec CodeBlocks sous Windows un projet Open Source Existant : Homebank. Le source est dispo ici : http://homebank.free.fr/index.php?id=20
    J'ai installé codeblocks, MinGW et gtk le pack all-in-one. J'ai lu le tuto de Gege (merci Gege) avec beaucoup d'attention : http://nicolasj.developpez.com/gtk/windows/ . Malheureusement, je n'arrive toujours pas...

    Si j'étais sous linux, et que je voulais uniquement compiler le programme (sans utiliser CodeBlocks) je devrais faire ./configure ./make et ./make install. J'ai pensé que ce serait bien, de déjà arriver à faire ça en ligne de commande sous Windows, avant de rajouter la couche de complexité CodeBlocks. Donc j'ai trouvé de la documentation et un tuto (méchant le tuto) ici : http://www.linuxsampler.org/msys.html . Je me suis alors embarqué dans une installation de choses dont je ne suis pas certain que ça contribue vraiment à mon but : msys, gtkmm, des packages supplémentaires pour MSYS et MinGW, idem pour intltool,.... puis Perl et Python pour utiliser un script pour convertir une DLL LibExpat en fichiers .a et .h pour Msys qui la réclamait... bref... beaucoup travail, mais sans résultat. Je suis arrivé au point ou ./configure ne retourne plus de message d’erreur, mais directement Windows pour un exe appelé par le ./configure : xgettext, que j'ai trouvé dans c:\gtkmm.

    Donc, avant d'aller plus, je voudrais savoir est-ce bien nécessaire de faire ceci. Savez-vous m'aider à y voir plus clair ?


    Enfin, avec codeBlocks j'ai aussi regardé et fait des tests. Je me pose plusieurs questions :

    - Lorsqu'on veut récupérer un projet (ici Homebank), est-ce que ma démarche de départ est bonne ? J'ai créé un nouveau projet c:\projet\hmb\ avec Codeblocks. Ensuite j'ai copié/collé le contenu du projet Homebank dans c:\projet\hmb\. Dans codeblocks, j'ai cliqué du droit sur le projet "add files" et ajoutés tous les fichiers contenu dans les sous-dossiers de homebank.

    - Lorsqu'on veut récupérer ce type de projet, ne faut-il pas configurer CodeBlocks avant, pour exécuter le make (qui devrait être généré par le ./configure) au moment de la compilation ?

    - Dans les propriétés de compilation du projet, ne faut-il pas re-référencer manuellement toutes les lib, include et bin de son propre projet ? des autres Msys, Mingw et gtkmm ? J'ai lu d'autres tutos plus anciens que celui de Gege qui insistaient sur l'importance d'ajouter les /bin, les /lib et include dans les propriétés de compilation du projet, respectivement dans les ressources, linker et compilateur.

    Voilà... voilà...

    Merci pour toutes aides ou conseils que vous saurez me donner.

    Nico

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Un conseil: n'utilise pas les vieux installateurs mingw, mais mingw-get, qui est l'outil conseillé par mingw.org. Tu peux ensuite l'utiliser comme un installateur de paquetages Linux. Par exemple, au lieu de t'embêter avec libexpat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mingw-get install mingw32-libexpat
    Voir le tutoriel officiel d'installation de MinGW.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 63
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Merci pour votre conseil Liberforce. Je viens de refaire le test. Cette fois j'arrive à compiler homebank sous Windows. Pour que ca puisse servir à d'autres, voici ce que j'ai fait :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    1. Installation de MinGW :
    	URL : http://mingw.org/wiki/Getting_Started
    	Download : mingw-get-inst
    	Info : install MinGW in c:\, update all packages, install all pacakges
    	Installation...
    	add c:\MinGW dans le %PATH%
     
    2. Installation de GTK :
    	URL : http://www.gtk.org/download/index.php
    	Download : All-In-One bundles 2.16
    	extract gtk+-bundle_2.22.1-20101227_win32.zip to c:\MinGW
     
    3. Installation GTKmm :
    	URL : http://www.gtkmm.org/en/download.html#Binary
    	Download : gtkmm-win32-devel-2.22.0-2.exe
    	Installation...
     
    4. Installation de Intltool :
    	URL : http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/
    	Dowload : intltool 0.40.4-1 win32.zip
    	extract : intltool_0.40.4-1_win32.zip to c:\gtkmm
     
     
    5. Installation de Perl :
    	URL : http://www.perl.org/get.html
    	Download : ActivePerl-5.14.1.1401-MSWin32-x86-294969.msi
    	Installation...
     
    6. Configure Console :
    	Open Start > Program > MinGW > MinGW shell
    	Command :
    		mkdir -p /opt/perl/bin
    		ln -s /c/Perl/bin/perl.exe /opt/perl/bin
    		export PATH=/c/Perl/bin:$PATH
     
    7. Install CodeBlocks :
    	URL :http://www.codeblocks.org/
    	download : codeblocks-10.05-setup.exe
    	info : full options,  install into c:\Program Files\CodeBlocks

    Quand ceci est fait, je peux extraire le source de homebank via http://homebank.free.fr/index.php?id=20 vers c:\Projets\hmb\. Ensuite, j'ouvre une console MinGW, je vais dans /c/Projets/hmb/homebank-4.4 et je lance les commandes : ./configure, make et make install. Je retrouve alors le programme Homebank dans C:\MinGW\msys\1.0\local\bin\homebank.exe


    Maintenant, si je l'exécute, la GUI est moins belle que le homebank.exe téléchargeable via le site web et je constate une série de message d'erreur dans la console pendant l'usage du programme. Ca c'est moins cool... Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gtk-CRITICAL **: gtk_default_render_icon: assertion `base_pixbuf != NULL´failed
    Pour ce qui est de compiler manuellement via la console, dois-je faire autre chose ? Dois-je fournir un paramétrage spécial pour Windows ?



    Enfin, pour pouvoir utiliser Codeblocks avec ce projet, j'ai fait les actions suivantes dans Codeblock. Mais je ne sais quoi faire pour terminer... :

    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
    21
    22
    23
    24
    25
    1. changé la valeur de "Settings > Compiler and debugger - tab : Toolchain executables" : C:\MinGW;
     
    2. changé la valeur de "Settings > Global Variable" pour définir : 
         Current Variable=gtk, 
         base=C:\MinGW; 
         include=C:\MinGw\include; 
         lib=C:\MinGW\lib.
     
    3. Créé un projet via File > New Project GTK+ :
         Project title : Homebank-4.4
         Folder : C:\Projets\hmb2
         Project filename : Homebank-4.4.cbp
         Result : c:\projets\hmb2\Homebank-4.4\Homebank-4.4.cbp
         GTK location : ${#gtk}
        retiré le fichier main.c du project Codeblocks
        Fermé Codeblocks
     
    4. Directement dans c:\Projects\hmb2\Homebank-4.4
        suppression de main.c
        Copie des fichiers source de homebank vers c:\hmb2\Homebank-4.4.
     
    5. Réouverture de CodeBlocks, ouverture d'un projet existant, Hmb2.
        Clique droit sur le projet Homebank > add files recursively
        Sélection du dossier c:\projets\hmb2\Homebank-4.4.
        Codeblocks charge toute l’arborescence de fichier dans le projet.
    J'imagine qu'on peut configurer dans les paramètres de compilation de Codeblocks d'exécuter les scripts configure, make et make install du projet Homebank ? Mais comment ? Savez m'en dire plus ?


    Voilà, désolé pour la tartine. Mais il faut en savoir des choses pour récupérer un package GTK sous Windows avec CodeBlocks...

    Merci d'avance pour l'aide,

    Nico

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/09/2013, 09h00
  2. Créer un .exe avec Codeblock, utilisant gtk
    Par kevingiroux dans le forum GTK+ avec C & C++
    Réponses: 9
    Dernier message: 19/03/2013, 21h06
  3. Réponses: 2
    Dernier message: 08/12/2012, 12h42
  4. Projet Glut avec CodeBlocks
    Par kev42100 dans le forum Linux
    Réponses: 0
    Dernier message: 09/01/2008, 18h08
  5. Réponses: 5
    Dernier message: 28/10/2006, 14h50

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