Comment joindre SFML à Eclipse?

Fermé
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 8 août 2014 à 17:19
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 13 août 2014 à 17:30
Bonjour,

Je travaille sous Debian Squeeze. J'ai installé Eclipse SDK C++ (3.5.2):

$ aptitude search eclipse
p eclipse - Extensible Tool Platform and Java IDE
i eclipse-cdt - C/C++ Development Tools for Eclipse
p eclipse-emf - Eclipse Modeling Framework (EMF)
p eclipse-emf-examples - Eclipse EMF/XSD examples
p eclipse-emf-sdk - Eclipse Modeling Framework (EMF) - (Source/Doc
i A eclipse-jdt - Eclipse Java Development Tools (JDT)
i A eclipse-pde - Eclipse Plug-in Development Environment (PDE)
i A eclipse-platform - Eclipse platform without plug-ins to develop a
i A eclipse-platform-data - Eclipse platform without plug-ins to develop a
i A eclipse-plugin-cvs - Eclipse Team Integration (CVS support)
i A eclipse-rcp - Eclipse Rich Client Platform (RCP)
p eclipse-rse - Eclipse Remote System Explorer (RSE)
p eclipse-xsd - XML Schema Definition (XSD) for Eclipse
p eclipse-xsd-sdk - XML Schema Definition (XSD) for Eclipse - (Sou
p libcommons-jci-eclipse-java - common Java interface for various compilers -
p libeclipselink-java - Eclipse Persistence Services Project
p libeclipselink-java-doc - Documentation for libeclipselink-java


J'ai également installé SFML:

$ aptitude search sfml
p libcsfml-audio1.6 - Libraries for the C Binding of SFML - Audio Pa
p libcsfml-dev - Developmentfiles for the C binding of SFML
p libcsfml-doc - Libraries for the C Binding of SFML - Document
p libcsfml-graphics1.6 - Libraries for the C Binding of SFML - Graphics
p libcsfml-network1.6 - Libraries for the C Binding of SFML - Network
p libcsfml-system1.6 - Libraries for the C Binding of SFML - System P
p libcsfml-window1.6 - Libraries for the C Binding of SFML - Window P
p libcsfml1.6-dbg - Libraries for the C Binding of SFML - Debug Fi
i A libsfml-audio1.6 - Simple and fast cross-platform multimedia libr
i libsfml-dev - Simple and fast cross-platform multimedia libr
p libsfml-doc - Simple and fast cross-platform multimedia libr
i A libsfml-graphics1.6 - Simple and fast cross-platform multimedia libr
i A libsfml-network1.6 - Simple and fast cross-platform multimedia libr
i A libsfml-system1.6 - Simple and fast cross-platform multimedia libr
i A libsfml-window1.6 - Simple and fast cross-platform multimedia libr
p libsfml1.6-dbg - Simple and fast cross-platform multimedia libr
p python-sfml - Simple and Fast multimedia library - Python Bi
v python2.5-sfml -
v python2.6-sfml -


J'ai essayé de compiler et exécuter un petit programme avec SFML trouvé sur le site https://www.sfml-dev.org/ pour Linux mais ça ne fonctionne pas.

#include <SFML/System.hpp>
#include <iostream>

int main()
{
sf::Clock Clock;
while (Clock.GetElapsedTime() < 5.f)
{
std::cout << Clock.GetElapsedTime() << std::endl;
sf::Sleep(0.5f);
}

return 0;
}

**** Build of configuration Debug for project jeudi7aout ****

make all
Building file: ../src/jeudi7aout.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/jeudi7aout.d" -MT"src/jeudi7aout.d" -o"src/jeudi7aout.o" "../src/jeudi7aout.cpp"
Finished building: ../src/jeudi7aout.cpp

Building target: jeudi7aout
Invoking: GCC C++ Linker
g++ -o"jeudi7aout" ./src/jeudi7aout.o
./src/jeudi7aout.o: In function 'main':
/home/planck/workspace/jeudi7aout/Debug/../src/jeudi7aout.cpp:14: undefined reference to 'sf::Clock::Clock()'
/home/planck/workspace/jeudi7aout/Debug/../src/jeudi7aout.cpp:17: undefined reference to 'sf::Clock::GetElapsedTime() const'
/home/planck/workspace/jeudi7aout/Debug/../src/jeudi7aout.cpp:18: undefined reference to 'sf::Sleep(float)'
/home/planck/workspace/jeudi7aout/Debug/../src/jeudi7aout.cpp:15: undefined reference to 'sf::Clock::GetElapsedTime() const'
collect2: ld returned 1 exit status
make: *** [jeudi7aout] Error 1

C'est sans doute la première ligne <SFML/System.hpp> qui pose problème.

Avec la liste de fichiers suivants, quel chemin dois-je mettre dans l'en-tête de mes fichiers C++ comportant SFML?

# find . -name \*sfml\* -print

./usr/lib/libsfml-network.so.1.6
./usr/lib/libsfml-system.so.1.6
./usr/lib/libsfml-network.so
./usr/lib/libsfml-audio.so.1.6
./usr/lib/libsfml-system.so
./usr/lib/libsfml-graphics.so
./usr/lib/libsfml-window.so
./usr/lib/libsfml-audio.so
./usr/lib/libsfml-graphics.so.1.6
./usr/lib/libsfml-window.so.1.6
./usr/share/doc/libsfml-network1.6
./usr/share/doc/libsfml-dev
./usr/share/doc/libsfml-system1.6
./usr/share/doc/libsfml-audio1.6
./usr/share/doc/libsfml-graphics1.6
./usr/share/doc/libsfml-window1.6
./var/lib/dpkg/info/libsfml-audio1.6.list
./var/lib/dpkg/info/libsfml-system1.6.list
./var/lib/dpkg/info/libsfml-system1.6.postrm
./var/lib/dpkg/info/libsfml-window1.6.md5sums
./var/lib/dpkg/info/libsfml-audio1.6.shlibs
./var/lib/dpkg/info/libsfml-audio1.6.postrm
./var/lib/dpkg/info/libsfml-dev.md5sums
./var/lib/dpkg/info/libsfml-network1.6.postinst
./var/lib/dpkg/info/libsfml-window1.6.list
./var/lib/dpkg/info/libsfml-audio1.6.postinst
./var/lib/dpkg/info/libsfml-system1.6.postinst
./var/lib/dpkg/info/libsfml-dev.list
./var/lib/dpkg/info/libsfml-network1.6.list
./var/lib/dpkg/info/libsfml-graphics1.6.md5sums
./var/lib/dpkg/info/libsfml-system1.6.md5sums
./var/lib/dpkg/info/libsfml-window1.6.shlibs
./var/lib/dpkg/info/libsfml-graphics1.6.list
./var/lib/dpkg/info/libsfml-window1.6.postinst
./var/lib/dpkg/info/libsfml-audio1.6.md5sums
./var/lib/dpkg/info/libsfml-network1.6.md5sums
./var/lib/dpkg/info/libsfml-network1.6.shlibs
./var/lib/dpkg/info/libsfml-graphics1.6.postinst
./var/lib/dpkg/info/libsfml-system1.6.shlibs
./var/lib/dpkg/info/libsfml-graphics1.6.postrm
./var/lib/dpkg/info/libsfml-window1.6.postrm
./var/lib/dpkg/info/libsfml-network1.6.postrm
./var/lib/dpkg/info/libsfml-graphics1.6.shlibs
./var/cache/apt/archives/libsfml-audio1.6_1.6+dfsg1-1+b1_i386.deb
./var/cache/apt/archives/libsfml-graphics1.6_1.6+dfsg1-1+b1_i386.deb
./var/cache/apt/archives/libsfml-system1.6_1.6+dfsg1-1+b1_i386.deb
./var/cache/apt/archives/libsfml-window1.6_1.6+dfsg1-1+b1_i386.deb
./var/cache/apt/archives/libsfml-network1.6_1.6+dfsg1-1+b1_i386.deb
./var/cache/apt/archives/libsfml-dev_1.6+dfsg1-1+b1_i386.deb

Merci

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
9 août 2014 à 21:32
'lut, je n'utilise que peu Eclipse (dev Android seulement) mais en lisant la doc je dirais qu'il faut chercher du coté de Chemins et symboles > Bibliothèques, et y ajouter les références vers les fichiers .so nécessaires, car les erreurs proviennent du linker
, qui se plaint de ne pas trouver les références binaires nécessaires (pour les headers/includes c'est bon, sinon ça serait des messages du genre "'sf::Clock' is not defined in this scope").
0
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 7
11 août 2014 à 16:46
Salut,

Je vais lire ta référence.

Merci de ta réponse.
0
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 7
13 août 2014 à 17:30
Bonjour,

Dans la boîte de dialogue Properties for jeudi7aout

/ Paths and Symbols / Library Paths

il n'y a aucun chemin de présent. Si je clique sur le bouton Add...

C'est indiqué :

Directory

Add to all configurations Variables...

Add to all languages Workspace...

? is a workspace path File system...

J'ai entré le chemin /usr/lib/ et ça ne fonctionne pas. (Il y a un petit symbole constitué de trois cercles liés par des segments devant le chemin.)

Pourtant, tous les fichiers importants sont installes là. Exemples de fichiers :
/usr/lib/libsfml-system.so
/usr/lib/libsfml-graphics.so


Quel chemin dois-je entrer?

Merci
0