Forum de la communauté SFML
Aide => Général => Discussion démarrée par: ffecteau30 le Septembre 22, 2013, 04:54:08 pm
-
Je suis nouveau avec Xcode et j'ai installer SFML comme dans votre tuto. J'essaie donc de me faire une application avec SFML app. J'utilise C++11 with Clang and libc++. J'ai toujours 35 erreurs quand je compile le programme sans avoir toucher au code qui est déjà présent. J'ai ce genre d'erreur la :
Undefined symbols for architecture x86_64:
"sf::SoundStream::play()", referenced from:
_main in main.o
"sf::RenderStates::Default", referenced from:
_main in main.o
"sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)", referenced from:
_main in main.o
"sf::RenderTarget::clear(sf::Color const&)", referenced from:….
Merci.
-
Mon passage préféré du tutoriel.
Quelques mots à propos de la configuration des templates. Si vous choisissez une option incompatible pour C++ Compiler and Standard Library, vous allez rencontrer des erreurs à l'édition des liens. Faites bien attention à suivre cette ligne directrice :
- Si vous avez téléchargé la version "GCC" depuis la page de téléchargement, vous devez choisir C++98 with GCC and libstdc++ and target 10.5.
- Si vous avez téléchargé la version "Clang" depuis la la page de téléchargement, vous devez choisir C++11 with Clang and libc++.
-
Pourtant je choisi la bonne ligne lors de la création de mon projet. La ligne : C++11 with Clang and libc++. J'ai bien télécharger SFML-2.1-osx-clang-universal.
-
En effet..
Je viens de mettre à jour Xcode pour passer à la version 5, comme toi. Et bien c'est ça le problème! Les templates ne sont plus compatibles.... >:(
Ça m'énerve.
Bref, le workaround à la main n'est pas bien compliqué. Une fois le projet configuré comme tu l'as fait, cliques sur le nom de ton projet dans la colonne de gauche, puis sélectionnes l'onglet «general» dans le panneau central et en bas ajoutes les frameworks en cliquant sur «+» suivit de «add other…» et rend toi dans /Library/Frameworks (cmd+maj+g) pour sélectioner les packets nécessaires.
EDIT: pour les utilisateurs de la version github, les templates y ont été mis à jour pour palier à cette incompatibilité.
-
C'est déjà beaucoup mieux, j'ai passé de 50 à 6 erreurs. Il me reste les erreurs suivantes :
Undefined symbols for architecture i386:
"sf::Font::loadFromFile(std::string const&)", referenced from:
_main in main.o
"sf::Image::loadFromFile(std::string const&)", referenced from:
_main in main.o
"sf::Music::openFromFile(std::string const&)", referenced from:
_main in main.o
"sf::String::String(char const*, std::locale const&)", referenced from:
_main in main.o
"sf::Texture::loadFromFile(std::string const&, sf::Rect<int> const&)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Est ce qu'il me manquerais des frameworks ? J'ai ajouter les suivants :
-
La il me semble que c'est l'erreur fréquente, voir mon premier message. Vérifie bien qu'en (re)créant ton projet tu aies séléectionné «C++11 with Clang and libc++», que tu aies bien téléchargé la version «Clang» de SFML et qu'aucune ancienne installation ne traine.
-
Merci beaucoup !! Ça fonctionne :D :D :D :D :D :D