Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Iris le Avril 30, 2014, 07:22:51 pm

Titre: Erreur de compilation avec g++ sous Debian [2.1]
Posté par: Iris le Avril 30, 2014, 07:22:51 pm
Bonjour, je suis sous Debian (Wheezy), et je viens d'installer SFML 2.1.
Au début, je l'avais installée en copiant les fichiers du SDK manuellement (car le paquet Debian est en 1.6), mais la compilation de l'exemple du tutoriel 2.1(http://www.sfml-dev.org/tutorials/2.1/start-linux-fr.php (http://www.sfml-dev.org/tutorials/2.1/start-linux-fr.php)) pour g++ me donnait ces erreurs :
g++ -c main.cpp
main.cpp: In function ‘int main()’:
main.cpp:6:5: error: ‘CircleShape’ is not a member of ‘sf’
main.cpp:6:21: error: expected ‘;’ before ‘shape’
main.cpp:7:5: error: ‘shape’ was not declared in this scope
main.cpp:9:19: error: ‘class sf::RenderWindow’ has no member named ‘IsOpen’
main.cpp:12:23: error: ‘class sf::RenderWindow’ has no member named ‘pollEvent’
main.cpp:14:23: error: ‘class sf::Event’ has no member named ‘type’
main.cpp:15:24: error: ‘class sf::RenderWindow’ has no member named ‘close’
main.cpp:18:16: error: ‘class sf::RenderWindow’ has no member named ‘clear’
main.cpp:19:16: error: ‘class sf::RenderWindow’ has no member named ‘draw’
main.cpp:20:16: error: ‘class sf::RenderWindow’ has no member named ‘display’
 
Même chose en ajoutant des options pour indiquer le chemin des .hpp à g++.
Donc, j'ai supprimé l'installation, et réinstallé SFML avec CMake. L'installation a fonctionné, mais j'ai toujours les mêmes erreurs à la compilation ...
J'ai aussi essayé avec l'exemple du tutoriel 1.6, pour voir si ce n'était pas la mauvaise version ... Évidemment, ça ne compile pas, j'ai bien la bonne version.
Quelqu'un a une idée ?
Merci pour vos réponses.  :)
Titre: Re : Erreur de compilation avec g++ sous Debian [2.1]
Posté par: Laurent le Avril 30, 2014, 11:21:55 pm
Non, vu les erreurs ce n'est clairement pas SFML 2.
Titre: Re : Erreur de compilation avec g++ sous Debian [2.1]
Posté par: Rodd le Mai 01, 2014, 12:16:05 pm
Il vaut toujours mieux télécharger la dernière version en cours sur GitHub (https://github.com/SFML/SFML/archive/master.zip)..


Donc, j'ai supprimé l'installation, et réinstallé SFML avec CMake.
et générer le makefile soit même via CMake ! Et après tu dois aller toi même dans le dossier généré via ta console et compiler ensuite avec make puis make install. (dans le doute... :) )

main.cpp:6:21: error: expected ‘;’ before ‘shape’
main.cpp:7:5: error: ‘shape’ was not declared in this scope
 
Corrige déjà ces erreurs..
Titre: Re : Erreur de compilation avec g++ sous Debian [2.1]
Posté par: Iris le Mai 04, 2014, 02:58:12 pm
Oui, j'avais généré le makefile :)
Le code est exactement l'exemple du tuto, donc je pense que les erreurs étaient là parce que le CircleShape ne pouvait pas être déclaré ...
J'ai essayé de recommencer l'installation avec CMake, avec la dernière version, mais ça ne fonctionnait toujours pas. Ensuite, j'ai supprimé tout ça pour réinstaller simplement avec le paquet testing (qui est en version 2), mêmes erreurs ... J'ai regardé les headers dans /usr/include/, ce sont les mêmes que ceux de la 2.1. Sauf qu'en essayant l'exemple du tuto 1.6, la compilation se passe bien, mais il y a des erreurs avec le linker ... En fait, il y avait les anciens headers de SFML 1.6 dans /usr/include/c++/4.7/SFML : en supprimant ce dossier SFML ... ça fonctionne en 2.1 !  :D
(Je crois que g++ ignorait les arguments avec -I ...)
Merci !