Bonjour:
référence https://tgui.eu/

voici comment installer TGUI

ce logiciel :
un framework qui peut s'utiliser comme gtk par ex la communauté est très active
il vous faudra un peu de persévérance mais les exemple permettent de prendre rapidement la température ......
d'autre part il y a un designer gui-builder qui à la manière de gtkbuilder là aussi il avance à grand pas mais la version en cours vous permettra de monter le cheval ....( c'est aussi pour cela qu'installer à la main vous sera profitable et vous permet de mieux connaître votre environnement )
gui-builder est un peu déroutant n’oublier pas de mettre le chemin complet lorsque la fenêtre s’ouvrira.
il est assez complet (les widgets) bien-sur le reste arrive mais on peu dire qu'il est opérationnel le fondamental est solide.

personnellement j'ai été étonné par le professionnalisme lors d'un projet et que vous embarqué l’ensemble 8mo en mémoire mais on peu l'alléger et réguler la fréquence , c'est logiciel qui permet de faire aussi bien de l'animation audio et gestion


l'installation paraît monstrueuse mais enfin de compte en moins de 5 mn votre environnement est opérationnel.


particularité pour GCC Linux: Debian / Ubuntu et ses dérivés. pour les autres distribution les mêmes packets .

pourquoi cette installation , les packages (TGUI) ne sont pas au dernier niveau. (développement très très actif )

_____________________________________________________________________________________________

vous devez avoir installer SFML


préalable avoir installer GCC

ouvrir votre session administrateur travail sous sudo (attention)

ouvrir votre terminal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
apt list --installed | grep -i libtgui*
afin de ne pas avoir de conflit par exemple si vous avez installer TGUI depuis un dépôt
veuillez les désinstaller puis reprendre la procédure depuis le début

pour TGUI je vais vous faire la procédure comme celle de SFML, cela vous permettra de vous libéré de toutes entraves de dépendances et de profité du développement très actif.



==================================================

TGUI

récupération de la dernière version stable
prendre
code source


ouvrir un terminal exécuter les commandes

(une fenêtre apparaît )

1)
source code
--> votre répertoire ou vous extrait votre zip
2)
build binaries
--> $home/tgui



pour Linux tout est déjà prêt

3)
choisir ->
configure
normalement vous ne devriez pas avoir de beug si vous avez déjà installer GCC etc...

4)
puis ->
generate
fermer le programme

==================================================

on prépare l’environnement (ps juste pour la compilation et l'installation)

exécuter les commandes toujours dans le terminal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
export PATH=$PATH:/home/votre_User/TGUI-0.8.5/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
export PATH=$PATH:/home/votre_User/TGUI/
-----------------------------------------------

compilation TGUI
a) normalement il fini par "done" sinon ???? corriger généralement c'est parce qu'il vous manque un module .... etc.... puis refaire make


installation automatique :
b) génère le fichier install_manifest.txt
qui comporte l'ensemble des fichiers et leurs chemins

comme ça il est très simple de les enlevés . (cela reste propre)

maintenant il faut dire au system comment lier tout cela

------------------------------------------------------------------------------------------------------------------------------------------
ldconfig crée, mises à jour et supprime les liens nécessaires et le cache (pour une utilisation par l'éditeur de lien, ld.so)
les plus récentes bibliothèques partagées trouvées dans les répertoires spécifiés sur la ligne de commande,
dans le fichier / etc / ld. so.conf, et dans les répertoires de confiance (/ usr / lib et / lib).


Donc, en supposant que libtgui....so est situé dans /usr/local/lib/ (si vous en êtes ici pas de problème)


créer un simple fichier tgui.conf comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo echo "/usr/local/lib" > tgui.conf
on copy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo cp tgui.conf /etc/ld.so.conf.d

Exécuter ldconfig afin de configurer les liaisons run-temps l' éditeur de liens.

====================================================================

maintenant on passe dans l'environnement développeur


copier dans .bachrc si il n'existe pas on l'ouvre et si cela n'ai pas déjà fait

# Chemin MODULE* ex:SFML or FOX or TGUI C++
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/lib
enregistrez

====================================================================
exemple makefile
projet que vous trouverez sur la page tgui

ouvrir un fichier makefile écrire ci-dessous :

Code Makefile : 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# nom de l'exécutable :
 
# nom de l'executable :
PROJET = test
 
 
 
# Adresse des sources, des objets et des includes :
SRCDIR = $(CURDIR)/src/
OBJDIR = $(CURDIR)/obj/
BINDIR = $(CURDIR)/bin/
 
 
 
INCLUDES =\
-I$(SRCDIR)
 
INCLIB =
 
 
# .cxx à moduler etc.....
OBJCPP = \
	$(patsubst %.cxx,$(OBJDIR)%.o,$(notdir $(wildcard $(SRCDIR)*.cxx))) \
	$(patsubst %.cpp,$(OBJDIR)%.o,$(notdir $(wildcard $(SRCDIR)*.cpp)))
 
 
#/usr/lib/x86_64-linux-gnu/libdl.so
 
 
RESULT= $(BINDIR)$(PROJET)
 
# choix du compilateur :
CXX = g++
 
 
# options compilations :    -lctemplate -lX11   -pthread  -fpic -DPIC '-DUNICODE=1' -no-pie
 
# -------------------------------------------------------------------
#  production
# -------------------------------------------------------------------
ifeq ($(PROD), true)
 
CPPFLAGS=	-std=c++17	 -Wall	-fexceptions	-pedantic-errors	-Wunused-variable -Wextra	-Wparentheses	-Waddress \
			-ftree-coalesce-vars  -fstack-clash-protection -fstack-protector-all \
			-Wsign-compare -fpermissive -fstrict-overflow \
			`pkg-config --cflags sfml-all` \
			`pkg-config --cflags tgui`
 
 
CXXFLAGS=	-std=c++17	 -Wall	-fexceptions	 -pedantic-errors 	-Wextra	-Wparentheses	-Waddress	\
			-ftree-coalesce-vars  -fstack-clash-protection -fstack-protector-all \
			-Wsign-compare -fpermissive -fstrict-overflow \
			`pkg-config --cflags sfml-all` \
			`pkg-config --cflags tgui`
 
 
 
LDFLAGS=      `pkg-config sfml-all --libs` `pkg-config tgui --libs`
 
 
OPTIMIZE = -fexpensive-optimizations -Os -s 
 
# -------------------------------------------------------------------
#  debug
# -------------------------------------------------------------------
 
else
 
CPPFLAGS=	-std=c++17  -O3 -ggdb -g3 -DDEBUG \
				-Wall	-fexceptions	 -Wextra	-pedantic-errors -Wunused-variable -Wparentheses	-Waddress	\
				-Wsign-compare -fpermissive	\
				-ftree-coalesce-vars -fstrict-overflow \
				`pkg-config --cflags sfml-all` \
				`pkg-config --cflags tgui`
 
 
 
CXXFLAGS=	-std=c++17  -O3 -ggdb -g3 -DDEBUG \
				-Wall	-fexceptions	 -Wextra	-pedantic-errors -Wunused-variable	-Wparentheses	-Waddress	\
				-Wsign-compare -fpermissive	\
				-ftree-coalesce-vars -fstrict-overflow \
				`pkg-config --cflags sfml-all` \
				`pkg-config --cflags tgui`
 
LDFLAGS = -no-pie `pkg-config sfml-all --libs` `pkg-config tgui --libs`
 
 
OPTIMIZE =
 
 
endif
# -------------------------------------------------------------------
#  compilation -no-pie
# -------------------------------------------------------------------
# compilation obj :  ex  @echo $(OBJCPP)  liste variable
 
 
# regle edition de liens
all : $(OBJCPP)
 
	@echo $(HOME)
# regle de compilation des sources objet
	$(CXX)  $(OBJCPP) -o $(RESULT) $(OPTIMIZE) $(LDFLAGS) $(INCLIB)
	du -sh	$(RESULT)
 
ifeq ($(PROD), true)
		rm -rf  $(OBJDIR)*.o
endif
 
$(OBJDIR)%.o: $(SRCDIR)%.cxx
	$(CXX)	$(CXXFLAGS) $(INCLUDES)	 -o	$@	-c	$<
 
$(OBJDIR)%.o: $(SRCDIR)%.cpp
	$(CXX)	$(CPPFLAGS) $(INCLUDES)	 -o	$@	-c	$<
 
# pour effacer tous les objets :
clean : $(OBJDIR)
	rm -rf  $(OBJDIR)*.o
 
# pour effacer l'executable :
mrprope: clean
	rm -rf $(RESULT)



============================================================================
UNISTALL
============================================================================

merci à stackoverflow.com
https://stackoverflow.com/questions/...-library-in-li

procédure uninstall sans risque

toujours dans le terminal (on sait ce que l'on fait )

Méthode (install_manifest.txt)

Si un fichier install_manifest.txt existe dans votre répertoire source,
il doit contenir les noms de fichier de chaque fichier créé par l’installation.

Commencez donc par vérifier la liste des fichiers et leur heure de modification:
001) (répertoire ou ce trouve votre résultant d'installation il doit y avoir "install_manifest.txt" )

002)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 sudo xargs -I{} stat -c "%z %n" "{}" < install_manifest.txt
Vous devriez obtenir zéro erreurs et les mod fois des fichiers indiqués doivent être ou après le temps d'installation.
Si tout est OK , vous pouvez les supprimer en une seule fois:

003)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 mkdir deleted-by-uninstall
004)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo xargs -I{} mv -t deleted-by-uninstall "{}" < install_manifest.txt
L' utilisateur Merlyn Morgan-Graham a cependant un avis sérieux au sujet de cette méthode que vous devez garder à l' esprit
(copié ici textuellement): « . Méfiez - vous des fichiers qui pourraient également avoir été installés
par d' autres paquets La simple suppression de ces fichiers [...] Et briser les autres paquets ????
« . . C'est la raison pour laquelle nous avons créé le deleted-by-uninstall répertoire et les fichiers déplacer au lieu de les supprimer.

puis :

005)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo rm -r  /usr/local/lib/cmake/TGUI
006)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo rm -r  /usr/local/include/TGUI*
007)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo rm -r  /usr/local/share/tgui-0.8*
à vos clavier

@bientôt ( procédure tester et roule en TEST) , l'idée est de développer sur linux (bien maîtriser ) et de pouvoir sans changer le code de recompiler sur les autres plateformes.....