Forum de la communauté SFML

Bindings - autres langages => C => Discussion démarrée par: Alpha_Dev le Novembre 02, 2016, 12:28:53 pm

Titre: CSFML - "Undefined reference to vtable"
Posté par: Alpha_Dev le Novembre 02, 2016, 12:28:53 pm
Bonjour à tous,
J’essaie de compiler un petit programme de test pour voir si CSFML fonctionne bien.
Je suis sous ubuntu, j'ai utilisé la commande "gcc -c main.c" pour compiler mon programme, ensuite la commande "gcc main.o -o test -lcsfml-graphics -lcsfml-window -lcsfml-system" pour le linker et ça me renvoie beaucoup d’erreurs (vraiment beaucoup) de ce type :

/usr/bin/ld: warning: libsfml-graphics.so.2.2, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libcsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libsfml-window.so.2.2, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libcsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libsfml-system.so.2.2, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libcsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libcsfml-graphics.so : référence indéfinie vers « sf::Shape::setOutlineColor(sf::Color const&) »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libcsfml-graphics.so : référence indéfinie vers « sf::Shader::isAvailable() »
 

Je ne sais plus quoi faire.

Au passage voici le code en question :
#include <SFML/Graphics.h>

int main()
{
    sfVideoMode mode = {800, 600, 32};
    sfRenderWindow* window;

    sfEvent event;

     /* Create the main window */
    window = sfRenderWindow_create(mode, "SFML window", sfResize | sfClose, NULL);
    if (!window)
         return 0;

     /* Start the game loop */
     while (sfRenderWindow_isOpen(window))
     {
         /* Process events */
         while (sfRenderWindow_pollEvent(window, &event))
         {
             /* Close window : exit */
             if (event.type == sfEvtClosed)
                 sfRenderWindow_close(window);
         }

         /* Clear the screen */
         sfRenderWindow_clear(window, sfBlack);
         sfRenderWindow_display(window);
     }

     return 0;
 }
 

Merci d'avance pour votre aide.
Titre: Re : CSFML - "Undefined reference to vtable"
Posté par: Laurent le Novembre 02, 2016, 12:38:01 pm
C'est très simple : l'éditeur de liens ne trouve pas les bibliothèques SFML (C++).
Titre: Re : CSFML - "Undefined reference to vtable"
Posté par: Alpha_Dev le Novembre 02, 2016, 01:20:00 pm
Donc si je comprends bien il faut la version C++ de la SFML d'installé pour utiliser CSFML ?
Titre: Re : CSFML - "Undefined reference to vtable"
Posté par: Laurent le Novembre 02, 2016, 01:34:23 pm
Oui, c'est le principe d'un binding : c'est juste un pont vers la version originale, pas une réécriture complète ;)
Titre: Re : CSFML - "Undefined reference to vtable"
Posté par: Alpha_Dev le Novembre 02, 2016, 01:35:26 pm
Ok merci, je ne savais pas du tout.