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 libc6
apt list --installed | grep -i libfontconfig1
apt list --installed | grep -i libfreetype6
apt 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-16
apt 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-6
apt list --installed | grep -i libxcursor1
apt list --installed | grep -i libxext6
apt list --installed | grep -i libxft2
apt list --installed | grep -i zlib1g


apt list --installed | grep -i libcups2
(*)
sudo apt install libcups2-dev


apt list --installed | grep -i libcupsfilters
(*)
sudo apt install libcupsfilters-dev


apt list --installed | grep -i libcupsimage2
(*)
sudo apt install libcupsimage2-dev




2) --------- Installation ex:fox-1.7.65

se mettre dans le dossier
cd $HOME/fox-1.7.65
par exemple

configuration :
./configure
vérifiez que tout est OK normalement il n'y a aucun problème

compilation :
make
installation:
sudo 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:

sudo echo "/usr/local/lib" > foxtoolkit.conf
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 cp foxtoolkit.conf /etc/ld.so.conf.d
Exécuter ldconfig afin de configurer les liaisons run-time l' éditeur de liens.

sudo ldconfig







Puis on passe dans l'environnement Développeur/User

copier dans .bachrc si il n'existe pas on l'ouvre

# Chemin FOX C++
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

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

pour que cela soit pris en compte se déconnecter du user .... ou
source $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 :

make PROD=false --trace clean mrprope all clean
prod / Build:

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 .