1
Général / SFML 2.5: Compilation static Debian 8 (jessie)
« le: Août 19, 2018, 04:45:52 pm »
Bonjour,
Après avoir lu et relu les tutoriels consacrés au sujet, sans succès, je me tourne donc vers le forum.
J'ai utilisé cmake-gui, et suis arrivé à produire le "make install" correspondant à ma distribution Linux (Anti-X 16, basée sur Debian 8 Jessie). Avec une installation dans un répertoire non courant.
Installation : Ok
La compilation du premier exemple du tuto de test se déroule correctement (main.cpp => main.o).
Par contre, au moment de lier le fichier main.o aux bibliothèques sfml, et d'en construire un exécutable ; la commande:
g++ main.o -o sfml-app -L<installation-de-sfml>/lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s
Me retourne, de mémoire, un message m'indiquant que :
ld n'a pu trouvé -sfml-graphics-s
Le chemin des lib étant correcte, je renomme alors les lib installé par make install :
libsfml-XXXXX-s.a en libsfml-XXXXX-s.so
Premier constat, les libs sont des ".a", non pas des ".so"
Recompilation + relikage par g++:
Les lib sont bien trouvée ; mais j'obtiens une suite de messages d'erreur du type :
/mon/chemin/SFML/lib/libsfml-system.so(ThreadLocalImpl.cpp.o): dans la fonction « sf::priv::ThreadLocalImpl::getValue() const »:
ThreadLocalImpl.cpp:(.text+0x33): référence indéfinie vers « pthread_getspecific »
Et ceci pour chaque lib et chaque fichier .cpp
Après recherche sur internet ; il semblerait que ce soit lié à un problème de renommage de fichier passé par le paramètre -o de la commande g++.
Et là je bloque.
Je sais que ce n'est pas un problème lié à la sfml ; mais si une lanterne pouvais éclairer ma bougie.
D'avance merci.
Après avoir lu et relu les tutoriels consacrés au sujet, sans succès, je me tourne donc vers le forum.
J'ai utilisé cmake-gui, et suis arrivé à produire le "make install" correspondant à ma distribution Linux (Anti-X 16, basée sur Debian 8 Jessie). Avec une installation dans un répertoire non courant.
Installation : Ok
La compilation du premier exemple du tuto de test se déroule correctement (main.cpp => main.o).
Par contre, au moment de lier le fichier main.o aux bibliothèques sfml, et d'en construire un exécutable ; la commande:
g++ main.o -o sfml-app -L<installation-de-sfml>/lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s
Me retourne, de mémoire, un message m'indiquant que :
ld n'a pu trouvé -sfml-graphics-s
Le chemin des lib étant correcte, je renomme alors les lib installé par make install :
libsfml-XXXXX-s.a en libsfml-XXXXX-s.so
Premier constat, les libs sont des ".a", non pas des ".so"
Recompilation + relikage par g++:
Les lib sont bien trouvée ; mais j'obtiens une suite de messages d'erreur du type :
/mon/chemin/SFML/lib/libsfml-system.so(ThreadLocalImpl.cpp.o): dans la fonction « sf::priv::ThreadLocalImpl::getValue() const »:
ThreadLocalImpl.cpp:(.text+0x33): référence indéfinie vers « pthread_getspecific »
Et ceci pour chaque lib et chaque fichier .cpp
Après recherche sur internet ; il semblerait que ce soit lié à un problème de renommage de fichier passé par le paramètre -o de la commande g++.
Et là je bloque.
Je sais que ce n'est pas un problème lié à la sfml ; mais si une lanterne pouvais éclairer ma bougie.
D'avance merci.