IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

GCC Discussion :

Install TGUI framework et designer utilisant SFML


Sujet :

GCC

  1. #1
    Membre �clair�

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    510
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 510
    Billets dans le blog
    1
    Par d�faut Install TGUI framework et designer utilisant SFML
    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.....

  2. #2
    Membre �clair�

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    510
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 510
    Billets dans le blog
    1
    Par d�faut
    Pour les options de compilation
    avec GCC cela vous prot�gera des d�bordements ( enfin ne pourra en aucun cas vous laiss� indiff�rent , ce rapport� � la doc merci )

    en GCC 8 cela fonctionne -fstack-clash-protection -fstack-protector-all pour GCC 9 les options conjointes ne fonctionnes pas utilisez -fstack-protector-all

  3. #3
    Membre �clair�

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    510
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 510
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par JPLAROCHE Voir le message
    Pour les options de compilation
    avec GCC cela vous prot�gera des d�bordements ( enfin ne pourra en aucun cas vous laiss� indiff�rent , ce rapport� � la doc merci )

    en GCC 8 cela fonctionne -fstack-clash-protection -fstack-protector-all pour GCC 9 les options conjointes ne fonctionnes pas utilisez -fstack-protector-all
    beug resolu Vous pouvez utiliser GCC8 -> 9... -fstack-clash-protection -fstack-protector-all

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Tiles] Installation du framework Tiles
    Par orus2 dans le forum Struts 1
    R�ponses: 2
    Dernier message: 19/06/2006, 16h27
  2. Installer le framework avec EasyPHP (si possible)
    Par vacknov dans le forum Zend Framework
    R�ponses: 4
    Dernier message: 16/06/2006, 09h44
  3. R�ponses: 5
    Dernier message: 10/05/2006, 09h10
  4. [Framework] [Claw] installer le framework avec exemple?
    Par yolepro dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 06/03/2006, 19h55
  5. Delphi 7 - Install client d'une appli utilisant DBExpress
    Par rouxy dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 08/08/2005, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo