Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [SFML2.0]Problème à l'exécution sous linux.  (Lu 2379 fois)

0 Membres et 1 Invité sur ce sujet

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
[SFML2.0]Problème à l'exécution sous linux.
« le: Mars 02, 2013, 12:23:58 pm »
Salut,
j'essaye d'exécuter un projet SFML 2 sous linux avec code::block mais lors de l'exécution j'ai ce message d'erreur :
Error while loading shared libraries : libsfml-network.so.2 not found.
Alors avec la SFML 1.6 mes librairies sont dans le dossier /usr/lib (je l'ai installé à partir du dépôt linux.), et quand j'exécute un projet en avec SFML 1.6 ça tourne sans problème.
Les librairies de la SFML2.0 se trouvent dans /usr/local/SFML2/lib. (J'ai du créer le sous répertoire SFML2 sinon il y a des conflits avec les librairies de la SFML 1.6.)
J'ai vérifier et le fichier libsfml-network.so.2 est bien prédent dans /usr/local/SFML2/lib donc ...
Malgré ça quand je veux exécuter mon projet SFML2 avec codeblock il me dit qu'il ne peut pas charger le fichier car il ne le trouve pas, j'ai le même problème avec Qt5.0.1 que j'ai aussi installé à partir des sources. :/


kripteks

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re : [SFML2.0]Problème à l'exécution sous linux.
« Réponse #1 le: Mars 02, 2013, 12:50:55 pm »
Ta des conflits il me semble.
Si tu as installé automatiquement via ton os la version 1.6, tu n'aurais pas de trace 1.6 dans /usr/local/ normalement, du coup tu peux renommé SFML2 en SFML.

Au pire fait comme sa:
Prend le dossier de /usr/local/include/SFML2 dans /usr/local/include/SFML2/include/SFML
Prend le dossier de /usr/local/lib/(libsfml...) dans /usr/local/include/SFML2/lib/

Dans codeblocks, ouvre ton projet, puis dans onglet Projet -> Build options.. -> dans cet fenêtre:
Onglet: Linker Settings -> s'il n'est pas déjà fait  tu ajoutes sfml-network dans Link libraries.
Onglet: Search directories -> Tu as plusieurs onglet:
Onglet Compiler -> tu ajoutes: /usr/local/include/SFML2/include
Onglet Linker -> tu ajoutes: /usr/local/include/SFML2/lib

Comme sa, tous sera bien séparé et pas de conflit, codeblocks sera ou joindre sfml 2 et t'aurais pas de soucis dans tes includes en utilisant directement <SFML/xxxx>.


Et au fait, tu as compiler sfml 2 rc sur ton système ? ou tu utilises juste la version prêt (dézipper et utilisation directe des fichiers). Car le 2'ème cas ne fonctionne pas (pour moi du moins) mais après compilation sa fonctionne sans problème.
« Modifié: Mars 02, 2013, 12:59:38 pm par kripteks »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : [SFML2.0]Problème à l'exécution sous linux.
« Réponse #2 le: Mars 02, 2013, 01:42:16 pm »
Salut, j'ai compilé la version 2 de la SFML car en effet, ça ne marche pas sinon.
J'ai tout dans Pojet->build-options et ça compile bien.
Ce qui m'étonne c'est que dans un autre projet je n'ai même pas eu besoin de référencer ou se trouvent les libs dans linker settings pour QT, il m'a compilé QT et la SFML 1.6 sans problème, hors que dans mon autre projets avec la SFML2.0 et la même version de QT (version 5), à part que j'utilise juste en plus le plugin mysql pour QT, ça ne marche pas à l'exécution il ne veut pas charger les librairies. :/
Mais sinon ça compile bien, le problème viens juste avec X-TERM
« Modifié: Mars 02, 2013, 01:44:11 pm par Lolilolight »

kripteks

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re : [SFML2.0]Problème à l'exécution sous linux.
« Réponse #3 le: Mars 02, 2013, 02:27:01 pm »
Si j'ai bien compris ta pas de soucis. Et ta un soucis.
Si ta plusieurs version d'une bibliothèque mieux vaut les linké sinon sa peut jouer au loto.
« Modifié: Mars 02, 2013, 02:33:40 pm par kripteks »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : [SFML2.0]Problème à l'exécution sous linux.
« Réponse #4 le: Mars 02, 2013, 03:07:00 pm »
Ha bah j'ai trouvé, en fait, il fallait aller dans projets->build-options->SearchDirectories->linker et là il fallait que je dise à code::blocks ou se trouvaient les fichiers .so