Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compilation gcc SFML Linux CodeBlocks

collect2: error: ld returned 1 exit status

    15 avril 2019 à 12:17:50

    Bonjour

    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

    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown