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 SFML last version


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 SFML last version
    Bonjour:
    r�f�rence https://www.sfml-dev.org/index-fr.php
    fa�tes un petit tour avant pour vous rendre compte cela vos le d�tour


    voici comment installer SFML
    Simple and Fast Multimedia Library / SFML est multi-media / SFML est multi-plateforme / SFML est multi-langage

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

    pourquoi cette installation , les packets (SFML) ne sont pas au dernier niveau. (d�veloppement tr�s actif )

    _____________________________________________________________________________________________

    document permettant d'installer SFML version stable sans dependance (catastrophique)
    un document install_manifest.txt y est g�n�r� voir la fin page.

    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 libsfml*
    afin de ne pas avoir de conflit par exemple si vous avez installer TGUI depuis un depot ou SFML en apt / depot
    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.




    ==================================================
    les d�pendances tr�s l�g�res: Mais obligatoires

    Normalement font partis du system

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    apt list --installed | grep -i libfreetype6-dev
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    apt list --installed | grep -i libxrandr-dev
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    apt list --installed | grep -i libudev-dev
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    apt list --installed | grep -i libogg-dev


    vous ne devriez avoir que cela � installer --->
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo apt install libflac-dev libvorbis-dev libopenal-dev

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


    pour faire la documentation

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo apt install doxygen doxygen-gui doxygen-doc
    (chose que vous devriez avoir dans vos outils)


    pour compiler et installer SFML cela vous pr�pare le makfile (aux petits oignons)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo apt-get -y install cmake
    (bien souvent r�clamer pour des projets pr�par�s pour des installations multiplateformes)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo apt-get -y install cmake-qt-gui
    ==================================================

    SFML

    r�cup�ration de la derni�re version stable

    https://www.sfml-dev.org/download/sf...1/index-fr.php (2.5.1 par exemple date du 05-2019 prendre to OS le 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/sflm



    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...

    ne pas choisir doc car vous pouvez avoir nettement mieux (on verra cela plus bas)

    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/SFML-2.5.1/
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    export PATH=$PATH:/home/votre_User/SFML/
    -----------------------------------------------

    compilation SFML
    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 libsfml....so est situ� dans /usr/local/lib/ (si vous en �tes ici pas de probl�me)


    cr�er un simple fichier sfml.conf comme ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo echo "/usr/local/lib" > sfml.conf
    on copy
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo cp sfml.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 .... 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 trouvrez sur la page sfml

    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
    # nom de l'exécutable :
    PROJET= window
     
     
     
    # Adresse des sources, des objets et des includes :
    SRCDIR = $(CURDIR)/src/
    OBJDIR = $(CURDIR)/obj/
    BINDIR = $(CURDIR)/bin/
     
     
     
    INCLUDES =\
    -I/usr/local/include/SFML/ 
     
    INCLIB =
     
    OBJCPP = $(OBJDIR)$(PROJET).o
    RESULT= $(BINDIR)$(PROJET)
     
    # choix du compilateur :
    CXX = g++
     
    # -------------------------------------------------------------------
    #  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`
     
     
    LDFLAGS=  -pthread  `pkg-config sfml-all --libs`
     
     
    OPTIMIZE = -fexpensive-optimizations -Os -s
     
    # -------------------------------------------------------------------
    #  debug
    # -------------------------------------------------------------------
     
    else
     
    CPPFLAGS=	-O3 -ggdb -g3 -DDEBUG \
    			-std=c++17 -Wall	-fexceptions	-Wextra	-pedantic-errors	-Wunused-variable	-Wparentheses	-Waddress	\
    			-Wsign-compare -fpermissive	\
    			-ftree-coalesce-vars -fstrict-overflow \
    			`pkg-config --cflags sfml-all`
     
    LDFLAGS =	-no-pie -pthread `pkg-config sfml-all --libs`
     
    OPTIMIZE =
     
    endif
     
     
     
    # -------------------------------------------------------------------
    #  compilation
    # -------------------------------------------------------------------
    # compilation obj :  ex  #@echo "$(OBJCPP)"
     
    # regle edition de liens
    all : $(OBJCPP)
    # regle de compilation des sources objet
    	$(CXX)	 $(OBJCPP) -o $(RESULT) $(OPTIMIZE) $(LDFLAGS) $(INCLIB)
     
    ifeq ($(PROD), true)
    	du -sh	$(RESULT)
    	rm	-rf	$(OBJDIR)$(PROJET).o
    else
    	du -sh	$(RESULT)
    endif
     
    $(OBJDIR)%.o: $(SRCDIR)%.cpp
    	$(CXX)	 $(CPPFLAGS) $(INCLUDES)	-o	$@	-c	$<
     
     
    # pour effacer tous les objets :
    clean :
    	rm	-rf	$(OBJDIR)$(PROJET).o
    	rm	-rf	$(RESULT)




    ============================================================================
    documentation tr�s importante solution car il faut apprendre ........

    doxywizard
    use
    ------------------------------------------------------
    WIZARD

    PROJECT

    name : SFML

    source directory : votre source d�zip�

    scan r�cursif


    destination directory : $HOME/SFML



    MODE

    all entities


    OUTPUT

    only HTML
    whit navigation panel


    ------------------------------------------------------
    EXPERT
    exemple

    INPUT                  = /home/...../SFML-2.5.1/src \
                             /home/....../SFML-2.5.1/include
    
    
    FILE_PATTERNS          = *.c \
                             *.cc \
                             *.cxx \
                             *.cpp \
                             *.c++ \
                             *.java \
                             *.ii \
                             *.ixx \
                             *.ipp \
                             *.i++ \
                             *.inl \
                             *.idl \
                             *.ddl \
                             *.odl \
                             *.h \
                             *.hh \
                             *.hxx \
                             *.hpp \
                             *.h++ \
                             *.cs \
                             *.d \
                             *.php \
                             *.php4 \
                             *.php5 \
                             *.phtml \
                             *.inc \
                             *.m \
                             *.markdown \
                             *.md \
                             *.mm \
                             *.dox \
                             *.py \
                             *.pyw \
                             *.f90 \
                             *.f95 \
                             *.f03 \
                             *.f08 \
                             *.f \
                             *.for \
                             *.tcl \
                             *.vhd \
                             *.vhdl \
                             *.ucf \
                             *.qsf
    recursive

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


    run

    affin� si plus


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

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

    procedure 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/SFML
    006)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo rm -r  /usr/local/include/SFML*
    007)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo rm -r  /usr/local/share/SFML*
    008) pas obligatoire attention au d�pendance
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sudo apt autoremove --purge libflac-dev libvorbis-dev libopenal-dev
    � vos clavier

    @bient�t ( proc�dure tester et roule en prod )

  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 r�solue vous pouvez utiliser GCC 8 -> 9 ... -fstack-clash-protection -fstack-protector-all

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

Discussions similaires

  1. Install FOX-TOOLKIT last version DEV
    Par JPLAROCHE dans le forum GCC
    R�ponses: 2
    Dernier message: 04/07/2019, 09h27
  2. Installation de differentes versions
    Par Raphael39 dans le forum Access
    R�ponses: 4
    Dernier message: 25/10/2007, 13h51
  3. [gcc] installation d'une version ant�rieure
    Par Longrais dans le forum Autres �diteurs
    R�ponses: 1
    Dernier message: 04/04/2007, 11h17
  4. R�ponses: 2
    Dernier message: 23/01/2006, 15h18
  5. Install de plusieurs versions d'Oracle
    Par macben dans le forum Installation
    R�ponses: 1
    Dernier message: 14/09/2005, 17h20

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