J'ai téléchargé sur le site officiel la SFML 2.4.2, le compilateur gcc et codeblocks.
J'ai donc configuré mon IDE et j'ai essayé de compiler le petit programme test disponible sur la SFML:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Aucun problème, le rond vert s'affiche et tout marche.
Je pars donc compilé mon projet qui contient 2 fichier cpp et un fichier hpp eau moment de la compilation, voici l'erreur qui arrive:
g++ -L/media/MesFichiers/Programmation/SFML-2.4.2/lib -o bin/Debug/Temple obj/Debug/LesMethodes.o obj/Debug/main.o -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system
obj/Debug/LesMethodes.o : Dans la fonction « Mort::prepartif() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:43 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « MT::MusiqueMenu() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:191 : référence indéfinie vers « sf::Music::openFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
obj/Debug/LesMethodes.o : Dans la fonction « MT::MusiqueJeu() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:202 : référence indéfinie vers « sf::Music::openFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
obj/Debug/LesMethodes.o : Dans la fonction « CN::TileMap::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, short const*, unsigned int, unsigned int, short) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:449 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « OP::Menu::OuvrirMenu(sf::RenderWindow&, LN::LesNiveaux, short, sf::View) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:808 : référence indéfinie vers « sf::Font::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:977 : référence indéfinie vers « sf::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::locale const&) »
obj/Debug/LesMethodes.o : Dans la fonction « OP::Menu::Logo(sf::RenderWindow&, sf::View) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1252 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1261 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « OP::Menu::CreerFichier[abi:cxx11](short, sf::RenderWindow&, sf::Text, LN::LesNiveaux) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1347 : référence indéfinie vers « sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1352 : référence indéfinie vers « sf::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::locale const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1357 : référence indéfinie vers « sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1361 : référence indéfinie vers « sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1365 : référence indéfinie vers « sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1372 : référence indéfinie vers « sf::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::locale const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1378 : référence indéfinie vers « sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const »
obj/Debug/LesMethodes.o : Dans la fonction « OP::Menu::Menujoueur(sf::RenderWindow&, CN::Tableau&, sf::Text, sf::View, sf::RectangleShape, LN::LesNiveaux) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1588 : référence indéfinie vers « sf::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::locale const&) »
obj/Debug/LesMethodes.o : Dans la fonction « OP::Menu::ConfigManette(sf::RenderWindow&, CN::Tableau&, sf::View, sf::RectangleShape, sf::Text, LN::LesNiveaux) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1800 : référence indéfinie vers « sf::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::locale const&) »
obj/Debug/LesMethodes.o : Dans la fonction « PV::Magie::TextU(short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1869 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « LS::MonPerso::MonPerso(short) » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1909 : référence indéfinie vers « sf::SoundBuffer::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1912 : référence indéfinie vers « sf::SoundBuffer::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1919 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:1924 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « LS::Sorcier::Sorcier() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:2544 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « LS::Soldat::Soldat() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:2673 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o : Dans la fonction « LS::Guerrier::Guerrier() » :
/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:2780 : référence indéfinie vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
obj/Debug/LesMethodes.o:/media/MesFichiers/Programmation/Temple/LesMethodes.cpp:2907 : encore plus de références indéfinies suivent vers « sf::Texture::loadFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Rect<int> const&) »
collect2: error: ld returned 1 exit status
Après plusierus recherche, je ne trouve toujours pas la solution à ce problème.
Pour info (Propriété > Build >):
Main.cpp : "Compile file" et "link file"
Méethode.cpp : "Compile file" et "link file"
Classes.hpp : rien
Si vous avez la solution, merci d'avance de me répondre.
- Edité par Titicplusplus 15 avril 2019 à 12:18:45
Compilation gcc SFML Linux CodeBlocks
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.