Précédent   Forum des professionnels en informatique > Général Développement > Programmation système > Linux > GTK
GTK Vos questions sur GTK sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2011, 17h26   #1
Invité de passage
 
Nicolas
Inscription : décembre 2010
Messages : 26
Détails du profil
Informations personnelles :
Nom : Nicolas

Informations forums :
Inscription : décembre 2010
Messages : 26
Points : 3
Points : 3
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
nico.exe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 18h13   #2
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2009
Messages : 840
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juin 2009
Messages : 840
Points : 1 168
Points : 1 168
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 :
mingw-get install mingw32-libexpat
Voir le tutoriel officiel d'installation de MinGW.
liberforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 21h06   #3
Invité de passage
 
Nicolas
Inscription : décembre 2010
Messages : 26
Détails du profil
Informations personnelles :
Nom : Nicolas

Informations forums :
Inscription : décembre 2010
Messages : 26
Points : 3
Points : 3
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 :
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 :
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 :
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
nico.exe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web