Installer GTK+3 sous codeBlocks linuxMintDebian C++
Résolu/Fermé
nocrazy
Messages postés
5
Date d'inscription
samedi 31 octobre 2015
Statut
Membre
Dernière intervention
15 novembre 2015
-
15 nov. 2015 à 11:50
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 19 nov. 2015 à 09:23
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 19 nov. 2015 à 09:23
A voir également:
- Installer GTK+3 sous codeBlocks linuxMintDebian C++
- Installer chromecast - Guide
- Installer windows 10 sans compte microsoft - Guide
- Installer ccleaner - Télécharger - Nettoyage
- Codeblocks avec compilateur - Télécharger - Langages
- Installer microsoft store - Guide
2 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 811
Modifié par mamiemando le 17/11/2015 à 10:34
Modifié par mamiemando le 17/11/2015 à 10:34
Bonjour
1) Commence par utiiliser
Exemple :
On voit ici que c'est le paquet
2) Installe le paquet correspondant :
3) Passe au compilateur les options nécessaire pour trouver le headers. Par défaut il va chercher des headers dans
Ce n'est évidemment pas super car ton code devient dépendant de la version de gtk-3, ce qui n'est évidemment pas souhaitable. Il faut donc bien faire l'inclusion comme tu l'as faite (
Bonne chance
1) Commence par utiiliser
apt-filepour déterminer quel est le bon paquet :
sudo apt-get update
sudo apt-get install apt-file
apt-file update
apt-file search gtk-3 | grep "gtk/gtk.h"
Exemple :
(mando@velvet) (~) $ apt-file search gtk-3 | grep "gtk/gtk.h"
libgtk-3-dev: /usr/include/gtk-3.0/gtk/gtk.h
libgtk-3-dev: /usr/include/gtk-3.0/gtk/gtkcheckbutton.h
libgtk-3-dev: /usr/include/gtk-3.0/gtk/gtkcheckmenuitem.h
libgtk-3-dev: /usr/include/gtk-3.0/gtk/gtkshow.h
On voit ici que c'est le paquet
libgtk-3-dev
2) Installe le paquet correspondant :
apt-get install libgtk-3-dev
3) Passe au compilateur les options nécessaire pour trouver le headers. Par défaut il va chercher des headers dans
/usr/include. Sans options il faudrait donc ici que tu inclues
#include <gtk-3.0/gtk/gtk.h>.
Ce n'est évidemment pas super car ton code devient dépendant de la version de gtk-3, ce qui n'est évidemment pas souhaitable. Il faut donc bien faire l'inclusion comme tu l'as faite (
#include <gtk/gtk.h>), mais tu dois du coup préciser au compilateur qu'il doit, en plus de
/usr/include, chercher des headers dans
/usr/include/gtk-3.0. Le numéro de version n'apparaîtra donc que dans ton makefile et sera facilement modifiable. Ceci se réalise avec l'option -I :
g++ -W -I/usr/include/gtk-3.0 fichier.cpp
Bonne chance
Bonjour Mamiemando,
merci pour ta réponse, tu m'avais déjà aidé pour une question précédente.
J'ai utilisé une méthode différente, trouver sur un site Anglophone,
dans le terminal, je tape:
LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$/usr/include/gtk-3.0/gtk"
export LD_LIBRARY_PATH PATH
je n'ai pas de modifications supplémentaires à faire dans le code::blocks et je garde mon #include <gtk/gtk.h>
Je ne suis pas sur de ce que j'ai fait mais ça fonctionne.
merci pour ta réponse, tu m'avais déjà aidé pour une question précédente.
J'ai utilisé une méthode différente, trouver sur un site Anglophone,
dans le terminal, je tape:
LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$/usr/include/gtk-3.0/gtk"
export LD_LIBRARY_PATH PATH
je n'ai pas de modifications supplémentaires à faire dans le code::blocks et je garde mon #include <gtk/gtk.h>
Je ne suis pas sur de ce que j'ai fait mais ça fonctionne.
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 811
Modifié par mamiemando le 18/11/2015 à 10:35
Modifié par mamiemando le 18/11/2015 à 10:35
Étrange cette solution, ça voudrait dire que la variable PATH est utilisée pour trouver des headers. En théorie elle ne sert qu'à trouver des exécutables. Vu qu'à mon avis tu n'as rien dans /opt/gtk (à vérifier) je pense que certaines parties de cette solution sont inutiles.
Mais bon l'essentiel, c'est que ça marche comme tu veux :-)
Mais bon l'essentiel, c'est que ça marche comme tu veux :-)
nocrazy
>
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
18 nov. 2015 à 17:22
18 nov. 2015 à 17:22
Oui mais apparemment, LD_LIBRARY_PATH et PATH sont 2 choses distinctes.
"LD_LIBRARY_PATH définit où chercher les librairies dynamiques (en plus des chemins par défaut)".
Sinon effectivement je n'ai rien dans /opt/gtk ou peut être en fichier caché.
"LD_LIBRARY_PATH définit où chercher les librairies dynamiques (en plus des chemins par défaut)".
Sinon effectivement je n'ai rien dans /opt/gtk ou peut être en fichier caché.
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 811
Modifié par mamiemando le 19/11/2015 à 09:24
Modifié par mamiemando le 19/11/2015 à 09:24
Oui on est d'accord, c'est pourquoi ça me surprend que la solution que tu as proposé ait pu régler ton problème.
Ton problème initial était un problème d'include (donc pour trouver les .h et .hpp), or les variables d'environnement que tu as mentionnées servent à lister des répertoires où chercher des exécutables (rôle de PATH) et des librairies .so (rôle de LD_LIBRARY_PATH).
Ton problème initial était un problème d'include (donc pour trouver les .h et .hpp), or les variables d'environnement que tu as mentionnées servent à lister des répertoires où chercher des exécutables (rôle de PATH) et des librairies .so (rôle de LD_LIBRARY_PATH).