On 8/21/19 10:41 PM, Kohler Gerard wrote:
bonsoir,
je suis désolé de poser une question qui doit sembler triviale à
beaucoup,
voila j'ai installé une Debian 11 sans problème,
mais je voudrais compiler des programmes en cpp avec la bibliothèque
gtk-3.0
J'espère qu'il s'agit de logiciel libre
<https://en.wikipedia.org/wiki/Free_software>. Si tu les développes,
envisage de publier leur code source (par exemple en GPLv3+) en
utilisant des forges (comme github ou gitlab). Inspire toi de code
sources libres existants: leur étude t'apprendra beaucoup. Et en
publiant ton code en libre, tu risques d'avoir un retour par des
développeurs plus confirmés que toi (c'est impossible si ton code reste
propriétaire).
GTK <https://www.gtk.org/> est une bibliothèque en et pour C. C'est Qt
<qt.io> qui est pour C++ et GtkMM <https://www.gtkmm.org/en/> aussi
(c'est une surcouche pour utiliser GTK en C++).
Il convient d'installer plein de dépendances. Sous Debian, un petit
truc: activer les paquets sous forme source en ayant par exemple une ligne
deb-src http://ftp2.fr.debian.org/debian/ buster main non-free contrib
dans son fichier /etc/apt/sources.list puis faire apt-get update puis
lancer quelquechose comme aptitude build-dep gedit pour installer toutes
les dépendances source de gedit (une application GTK existante).
------------------------------------------------------------------------
cependant que ce soit avec g++ en ligne de commande ou Code::Block je
n'ai que des erreurs de compilation car le compilateur n'arrive pas à
trouver le chemin des bibliothèques qui sont bien installées.
Je déconseille les outils comme /Code::Blocks/ qui cachent ce qui se
passe en dessous. La ligne de commande dans un terminal, c'est ce qu'il
y a de mieux pour apprendre à programmer. On la comprend mieux qu'une
interface clickodromatique (apparemment plus facile, mais en réalité
elle automatise et te cache /trop/ de choses: les compilateurs tels que
GCC <gcc.gnu.org> ou Clang <clang.llvm.org> sont toujours en ligne de
commande et requierent d'être combinés avec plein d'autres outils, y
compris les versionneurs <https://en.wikipedia.org/wiki/Version_control>
tels que git <git-scm.com/> et les automates de constructions
<https://en.wikipedia.org/wiki/Build_automation> à la make
<https://www.gnu.org/software/make/> ou ninja <https://ninja-build.org/>
ou omake <http://projects.camlcity.org/projects/omake.html>, etc
etc...). La philosophie d'Unix
<https://en.wikipedia.org/wiki/Unix_philosophy>, c'est depuis les années
1970 la combinaison lucide d'outils élémentaires spécialisés (souvent
utilisés dans un terminal).
Il faudrait donner la ligne de commande utilisée. En pratique, apprendre
à utiliser au moins GNU Make <https://www.gnu.org/software/make/> (donc
prendre l'heure nécessaire pour en lire la documentation) et à écrire un
bon Makefile <https://en.wikipedia.org/wiki/Makefile> qui utilise
correctement pkg-config. Voir
https://stackoverflow.com/a/20585574/841108 pour l'inspiration.
Librement
--
Basile STARYNKEVITCH == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France; <[email protected]>
(mobile phone: cf my web page / voir ma page web...)