Bonjour ,
LINUX
exemple:
fox-snapshot.tar.gz (development snapshot). dossier ->fox-1.7.65 correspond à la 1.7.64.1 ou prenez fox-1.7.64.tar.gz etc...
comment avoir la dernière version qui n'est pas dans vos dépôts:
Mais validé et fonctionnel (voir arch / fédora / OpenSuze / ect mis déjà dans leurs dépôts ex: pour manjaro : fox-devel correspond à la 1.7.64.1 )
pour ubuntu / debian et dérivé qui eux n'ont pas dans les dépôts la release-devel.
1)
lien : http://www.fox-toolkit.org/
recuperer le fox-snapshot.tar.gz (development snapshot).
extraction..
il est préférable de vous mettre dans votre user administrateur.
vérifiez que vos packages sont dans votre system: avec apt list --installed | grep -ivotre-package
si comme moi ---> ils sont dans le system de base pas de problème (Normalement ce sont des packages installer par défaut)
sinon installer les packages ---> sudo apt install votre package
vous devez installer la partie package-dev (*)
apt list --installed | grep -i libc6apt list --installed | grep -i libfontconfig1apt list --installed | grep -i libfreetype6apt list --installed | grep -i libgcc1(*)apt list --installed | grep -i libgl1*sudo apt install libgl1-mesa-dev mesa-common-dev
(*)apt list --installed | grep -i libglu1*sudo apt install libglu1-mesa-dev
(*)apt list --installed | grep -i libjpeg8*sudo apt install libjpeg-turbo8-dbg libjpeg-turbo8-dev libjpeg8-dbg libjpeg8-dev
apt list --installed | grep -i libpng16-16apt list --installed | grep -i libstdc++6
(*)apt list --installed | grep -ilibtiff5*sudo apt install libjbig-dev liblzma-dev libtiff5-dev libtiffxx5
apt list --installed | grep -i libx11-6apt list --installed | grep -i libxcursor1apt list --installed | grep -i libxext6apt list --installed | grep -i libxft2apt list --installed | grep -i zlib1g
(*)apt list --installed | grep -i libcups2sudo apt install libcups2-dev
(*)apt list --installed | grep -i libcupsfilterssudo apt install libcupsfilters-dev
(*)apt list --installed | grep -i libcupsimage2sudo apt install libcupsimage2-dev
2) --------- Installation ex:fox-1.7.65
se mettre dans le dossierpar exemplecd $HOME/fox-1.7.65
configuration :vérifiez que tout est OK normalement il n'y a aucun problème./configure
compilation :installation:makesudo make install
tout s'installe par défaut dans :
/usr/local/bin/
/usr/local/lib/
/usr/local/lib/pkgconfig/
/usr/local/include/fox-1.7/
/usr/local/share/doc/fox-1.7/
/usr/local/man/man1/
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 fox......so est situé dans /usr/local/lib/
# mkdir /usr/local/lib fait par la commande make install de fox-toolkit
créer un simple fichier foxtoolkit.conf comme ceci:
Ajouter un fichier de configuration foxtoolkit.conf dans /etc/ld.so.conf.d répertoire (dans ce répertoire , vous pouvez trouver des fichiers comme par exemple)sudo echo "/usr/local/lib" > foxtoolkit.conf
Exécuter ldconfig afin de configurer les liaisons run-time l' éditeur de liens.sudo cp foxtoolkit.conf /etc/ld.so.conf.d
sudo ldconfig
Puis on passe dans l'environnement Développeur/User
copier dans .bachrc si il n'existe pas on l'ouvre
enregistrez# Chemin FOX C++
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/lib
pour que cela soit pris en compte se déconnecter du user .... ousource $HOME/.bashrc
exemple: makefile
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 # nom de l'executable : PROJET = dialog # Adresse des sources, des objets et des includes : SRCDIR = $(CURDIR)/src/ OBJDIR = $(CURDIR)/obj/ BINDIR = $(CURDIR)/bin/ INCLUDES =\ -I$(HOME)/fox/icons/ \ -I$(HOME)/fox/includeprs/ \ -I$(SRCDIR) INCLIB = OBJCPP = \ $(patsubst %.cxx,$(OBJDIR)%.o,$(notdir $(wildcard $(SRCDIR)*.cxx))) \ $(patsubst %.cpp,$(OBJDIR)%.o,$(notdir $(wildcard $(SRCDIR)*.cpp))) RESULT= $(BINDIR)$(PROJET) # choix du compilateur : CXX = g++ # options compilations : -no-pie -> executable # ------------------------------------------------------------------- # 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 fox17` 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 fox17` LDFLAGS= `pkg-config fox17 --libs` OPTIMIZE = -fexpensive-optimizations -Os -s # ------------------------------------------------------------------- # debug (-no-pie) # ------------------------------------------------------------------- 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 fox17` 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 fox17` LDFLAGS = -no-pie `pkg-config fox17 --libs` OPTIMIZE = endif # ------------------------------------------------------------------- # compilation # ------------------------------------------------------------------- # 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) # @echo $(OBJCPP) $(OBJDIR)%.o: $(SRCDIR)%.cxx $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $< $(OBJDIR)%.o: $(SRCDIR)%.cpp $(CXX) $(CPPFLAGS) $(INCLUDES) -o $@ -c $< # pour effacer tous les objets : clean : rm -rf $(OBJDIR)*.o # pour effacer l'executable et les objets : mrprope: clean rm -rf $(RESULT)
on arrive au bout
debug / Compile :
prod / Build:make PROD=false --trace clean mrprope all clean
make PROD=true mrprope all clean
si vous utilisez Geany copiez dans construire dans les onglets respectif
Voilà c'est en place
je souhaite que cela vous soit utile...
j'ai pas mal cherché pour comprendre comment installer la dernière version valide encours de développement , sur le site ils annoncent quand on peut prendre cette version.
j'ai mis cela aussi parce-que dans le tutoriel c++ FOX qui fonctionne pour Windows (très bien fait ps: je sais pas faire un tuto si quelqu'un voulait m'aider merci)
Les choses ont changées et le problème des dépendances ne sont pas soulignées.
bien-sur si vous préférez la "stable" mais elle a de l'âge c'est la fox-1.6.56.1 elle est dans vos dépôts .
Partager