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

SFML Discussion :

g++: erreur: unrecognized option -sfml-app


Sujet :

SFML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut g++: erreur: unrecognized option -sfml-app
    Bonjour,
    J'ai installé la sfml sur code::blocks sous linux comme précisé dans le tuto officiel.
    Seulement, le compilateur me renvoie cette ligne d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++: erreur: unrecognized option -sfml-app
    je n'ai aucun code, juste des link pour le compilateur.
    merci!

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Pourrais-tu nous montrer ce que tu as mis dans les "linker settings" ?

  3. #3
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par dergeekpanda Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++: erreur: unrecognized option -sfml-app
    Bonjour,

    D'après le tuto, sfml-app est le nom du binaire et pour g++ cette option devrait etre -o sfml-app.

    Es tu sur de la configuration de ton projet ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Je viens de comprendre l'erreur, et gnto a raison.
    j'ai abandonné code blocks et je compile en console avec ces commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    g++ -c main.cpp -ISFML-2.1/include/
    g++ main.o -o sfml-app -LSFML-2.1/lib/ -lsfml-graphics -lsfml-graphics -lsfml-window -lsfml-system
    ce sont celles du tutoriel avec les chemins relatifs de ma SFML mais g++ me renvoie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /usr/bin/ld: warning: libGLEW.so.1.7, needed by SFML-2.1/lib//libsfml-graphics.so, not found (try using -rpath or -rpath-link)
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewUniform1fARB'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__GLEW_ARB_shader_objects'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewGetObjectParameterivARB'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__GLEW_ARB_vertex_shader'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewFramebufferTexture2DEXT'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewUniformMatrix4fvARB'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewGenFramebuffersEXT'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewUniform3fARB'
    SFML-2.1/lib//libsfml-graphics.so: undefined reference to `__glewRenderbufferStorageEXT'
    .
    plein d'autres messages
    .
    collect2: ld a retourné 1 code d'état d'exécution
    si j'ai bien compris il me manque une bibliotheque mais laquelle?
    ou est-ce un mauvais linkage?

    merci à vous!

  5. #5
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Bonjour,

    il manque une librairie; La lib GLEW, qui est chargé par libsfml-graphics.so. Du coup l'édition de lien ne peut être faite.

    Selon le linker ça serait la version 1.7 de GLEW

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Et comment puis-je l'intégrer au projet?

  7. #7
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Tu n'as pas besoin de l'intégrer au projet, juste de l'installer sur ton environnement de dev. Ensuite relance la compilation et ça devrait aller mieux ^^.
    Nullius in verba

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Je n'arrive pas à l'installer, il n'y a pas de fichier configure et quand je lance make, il me retourne une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ make && install
    make: AVERTISSEMENT: fichier « config/Makefile.linux » a une date de modification 2,1e+08 dans le futur
    cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -fPIC  -o tmp/linux/default/shared/glew.o -c src/glew.c
    cc -shared -Wl,-soname=libGLEW.so.1.10 -o lib/libGLEW.so.1.10.0 tmp/linux/default/shared/glew.o -L/usr/X11R6/lib -L/usr/lib -lXmu -lXi -lGL -lXext -lX11 
    /usr/bin/ld: cannot find -lXmu
    /usr/bin/ld: cannot find -lXi
    collect2: ld a retourné 1 code d'état d'exécution
    make: *** [lib/libGLEW.so.1.10.0] Erreur 1

  9. #9
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    Les erreurs sont pourtant assez explicites: il ne trouve les bibliothèques Xmu et Xi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /usr/bin/ld: cannot find -lXmu
    /usr/bin/ld: cannot find -lXi
    En plus je pense que si tu as une distrib style Ubuntu, tu peux faire un simple apt-get install libglew (ou quelque chose dans le genre). Ca t'évitera de compiler Glew.

  10. #10
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Pour l'installation il doit y avoir un paquet à installer portant le nom "libGLEW.so.1.7"

    Maintenant, je ne sais pas si tu l'as compris mais tu es en train de recompiler la SFML, et je commence à avoir des doutes sur le fait que c'est ta motivation. Si tu ne cherche qu'à l'utiliser dans un projet, alors il te faut juste dans Code:Blocks enlever sfml-app de tes linker-settings, et de n'ajouter que les lib dont tu as réellement besoin (SFML a été architecturé pour que chaque module soit indépendant), mais pour n'importe quel projet autre que de recompiler la SFML, tu n'auras jamais besoin d'inclure sfml-app je penses.

    Dans le cas contraire ou si je me trompe, sous linux : sudo apt-get install libGLEW.so.1.7
    Nullius in verba

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Je veux juste développer un jeu vidéo avec des images du son et du réseau.
    Un ami m'a conseillé la sfml et je n'ai pas encore trouvée mieux par moi même.

    Code blocks me donne les mêmes lignes d'erreurs que ma compilation main et je suis novice dans l'art de recompiler des bibliothèques et il n'y a pas de paquets libGLEW.so.1.7 dans les dépôts même après un apt-get update.
    j'ai trouvé un libglew1.6-dev qui ne ne convient pas a g++.
    Désolé pour mon peu de débrouillardise mais j'enchaine les problèmes de compilation depuis un mois ^^

    J'ai voulu essayer la sdl mais elle n'est apparemment pas portée objet. Si vous avez une librairie qui me conviendrait mieux vous êtes les bienvenus

  12. #12
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    Est-ce que tu as tout simplement essayé d'installer SFML à partir du dépôt Ubuntu?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install libsfml-dev
    Tu peux trouver plus d'information ici

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    apt-get me dit que libsfml-dev est à jour

  14. #14
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    As tu essayé de compiler SFML avec CMake comme indiqué sur le site?

  15. #15
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    g++: erreur: unrecognized option -sfml-app
    Ok je viens juste de tilter le problème

    sfml-app est censé être le nom de ton application. Dans l'exemple du tuto de Laurent, il utilise sfml-app, mais ce n'est absolument pas une option g++ ni sfml

    Donc reprend le tutoriel ici à l'étape de la compilation (si tu as correctement créé un main.cpp banal dans un projet Code:Blocks nu et que tu as linké correctement) :

    Maintenant compilez-le :
    g++ -c main.cpp

    Si vous avez installé SFML dans un chemin non-standard, vous devez indiquer au compilateur où trouver les en-têtes SFML (les fichiers .hpp) :

    OU

    g++ -c main.cpp -I<installation-de-sfml>/include
    Ici, <installation-de-sfml> est le répertoire dans lequel vous avez copié SFML, par exemple /home/moi/sfml.


    Puis, vous devez lier le fichier compilé aux bibliothèques SFML afin de produire l'exécutable final. SFML est composée de 5 modules (système, fenêtrage, graphique, réseau et audio), et il y a une bibliothèque pour chacun.
    Pour lier une bibliothèque SFML, vous devez ajouter "-lsfml-xxx" à votre ligne de commande, par exemple "-lsfml-graphics" pour le module graphique (par rapport au nom du fichier correspondant, le préfixe "lib" et l'extension ".so" doivent être omis).

    ICI tu as du te foirer

    g++ main.o -o <leNomDeTonChoixPourTonAppliSansLesChevrons> -lsfml-graphics -lsfml-window -lsfml-system -lsfml-network -lsfml-audio

    OU

    Si vous avez installé SFML dans un chemin non-standard, vous devrez indiquer à l'éditeur de liens où trouver les bibliothèques SFML (fichiers .so) :

    g++ main.o -o sfml-app -L<installation-de-sfml>/lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-network -lsfml-audio
    EN gras les options supplémentaires dont tu auras besoin pour linker les modules dont tu as besoin.

    Petit conseil personnel, commence par un morpion sans t'occuper des modules de son et de réseau, tu auras déjà assez à faire ^^.
    Nullius in verba

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai exactement le meme probleme

    Je suis sous Ubuntu j'utilise codeblocks et j'essaie d'utiliser SFML.
    Lors de la compilation j'ai le meme message d'erreur : libGLEW.so.1.7 needed

    Du coup j'ai également essayer de compiler libglew avec la commande make, meme probleme : cannot find -lXmu
    J'ai essayé de l'installer depuis les depots, il m'installe la version 1.6 le c*n !

    Apres ca je me suis dis tentont de recompiler les sources de SFML, sauf que, je cite le tuto officiel :

    "Voici une liste de ce que vous devez installer avant de compiler SFML :
    ...
    - glew
    ...
    "

    Voila, je tourne un peu en rond et je sais plus trop quoi tenter maintenant ^^

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/03/2008, 13h08
  2. [RadRails] Erreur "invalid option"
    Par lem01 dans le forum Ruby on Rails
    Réponses: 7
    Dernier message: 10/09/2007, 22h04
  3. [Fortran 9.1] Erreur "Unrecognized token '?' skipped"
    Par stillman dans le forum Fortran
    Réponses: 4
    Dernier message: 08/08/2007, 09h25
  4. Réponses: 9
    Dernier message: 14/02/2007, 09h42
  5. Unrecognized option -fnative-struct
    Par copyallright dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 01/05/2003, 12h25

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