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

Auteur Sujet: CMake & SFML  (Lu 6698 fois)

0 Membres et 3 Invités sur ce sujet

GuillaumePA

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : CMake & SFML
« Réponse #15 le: Juin 14, 2015, 05:05:00 am »
Maj : après m'être un peu trainé par ci par là, j'ai chopé VS 2013, et avec leurs format d'erreur "lnk...." j'ai pu comprendre mon pépin : j'ai besoin des link vers opengl32.lib, vinmm.lib, et jpeg.lib.
J'ai mon rond vert \o/
Est-ce que quelqu'un saurait m'expliquer pourquoi il manque ces libs ? (c'est pas une accusation, j'veux vraiment juste comprendre le pourquoi du comment)
Et aussi : est-ce que ça pourrait être le même problème sous CLion (avec CMake et Mingw w64 ?)

Enfin, c'est quoi la différence entre sfml pour VS et celle pour Mingw ? des directives préproc ?
« Modifié: Juin 14, 2015, 05:29:29 am par GuillaumePA »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : CMake & SFML
« Réponse #16 le: Juin 14, 2015, 10:26:50 am »
Citer
Est-ce que quelqu'un saurait m'expliquer pourquoi il manque ces libs ?
Si tu lies SFML statiquement il faut aussi que tu lies explicitement toutes ses dépendances.

Citer
est-ce que ça pourrait être le même problème sous CLion
Oui, sauf qu'avec CMake et le module FindSFML.cmake, c'est normalement fait automatiquement, ce n'est pas à toi de t'en occuper. Donc il y a tout de même un autre souci.

Citer
Enfin, c'est quoi la différence entre sfml pour VS et celle pour Mingw ?
Chaque (variante de) compilateur a son propre format de bibliothèques, et ils sont bien entendu incompatibles entre eux. Au niveau du code en lui-même ça ne change rien.
Laurent Gomila - SFML developer

GuillaumePA

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : Re : CMake & SFML
« Réponse #17 le: Juin 15, 2015, 03:54:26 am »
Citer
Est-ce que quelqu'un saurait m'expliquer pourquoi il manque ces libs ?
Si tu lies SFML statiquement il faut aussi que tu lies explicitement toutes ses dépendances.

Citer
est-ce que ça pourrait être le même problème sous CLion
Oui, sauf qu'avec CMake et le module FindSFML.cmake, c'est normalement fait automatiquement, ce n'est pas à toi de t'en occuper. Donc il y a tout de même un autre souci.

Citer
Enfin, c'est quoi la différence entre sfml pour VS et celle pour Mingw ?
Chaque (variante de) compilateur a son propre format de bibliothèques, et ils sont bien entendu incompatibles entre eux. Au niveau du code en lui-même ça ne change rien.


Merci ! J'ai finalement réussi !
D'abord avec VS, puis ensuite j'm'y suis réattaqué avec CLion (avec cmake plus précisément)

Solution : Compiler sa bibli, et puis c'est tout.
J'ai trouvé un super tuto pour faire ça :
Je le conseil chaudement, étant donné que le type refait tout depuis l'installation de cmake à la production des lib dynamiques / static en version release / debug.

Maintenant, j'vais tâcher de comprendre pourquoi la console s'ouvre aussi, mais sinon, tout marche !

Une der' pour la route : y'a un moyen de "cacher" les dlls ? Pour ne pas les mettre dans le même dossier que l'exe ? En tout cas, pour spécifier (relativement) leur emplacement ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : CMake & SFML
« Réponse #18 le: Juin 15, 2015, 07:41:56 am »
Citer
Une der' pour la route : y'a un moyen de "cacher" les dlls ? Pour ne pas les mettre dans le même dossier que l'exe ? En tout cas, pour spécifier (relativement) leur emplacement ?
Pas sous Windows. Mais... tu lies SFML statiquement, non ?
Laurent Gomila - SFML developer

GuillaumePA

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : CMake & SFML
« Réponse #19 le: Juin 15, 2015, 02:25:55 pm »
Citer
Mais... tu lies SFML statiquement, non ?

Plus maintenant.

En revanche, j'ai pas mal galéré pour installer SFML avec CMake du coup j'ai fait un fichier d'aide pour faciliter la digestion de la chose, pour les autres.

Surtout dans la mesure où CLion fait des choses un peu chiantes, et si on débute c'pas plus mal d'avoir une référence pour au moins comprendre ce qui a été mis en jeu.

J'aimerais avoir ton avis sur ce fichier (il manque encore les links en plus pour static), il se trouve sur mon github :
https://github.com/GPierre-Antoine/ConfigSFMLMakefileHelper/blob/master/ConfigCMakeFileForSFML.txt
Si pour une raison ou pour une autre tu veux que je l'enlève, demande et j'le fais vite fait, t'as pas à te justifier.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : CMake & SFML
« Réponse #20 le: Juin 15, 2015, 02:46:18 pm »
Il ya pas mal de bêtises dans ton script ;)

1. SFML_INCLUDE_DIR n'a pas à être spécifié, c'est find_package(SFML ...) qui va te le trouver
2. SFML_STATIC_LIBRARIES doit être défini avant find_package(SFML ...)
3. Tout le reste n'a pas vraiment de rapport avec SFML, c'est un peu trompeur d'avoir tout mélangé comme ça

Lis bien la documentation du fichier FindSFML.cmake, ça t'évitera ce genre d'erreur à l'avenir.
Laurent Gomila - SFML developer

GuillaumePA

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : CMake & SFML
« Réponse #21 le: Juin 15, 2015, 07:55:46 pm »
Voilà j'ai update, j'ai laissé les éléments sur lesquels j'ai eu du mal moi même sous forme de commentaires. En essayant de virer les trucs superflus.

Une idée de pourquoi le shell s'execute quand je lance le programme ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : CMake & SFML
« Réponse #22 le: Juin 15, 2015, 08:15:22 pm »
Citer
Une idée de pourquoi le shell s'execute quand je lance le programme
Parce que tu n'as pas dit à CMake de ne pas en mettre une. "CMake" + "console" dans Google devrait t'aider.
Laurent Gomila - SFML developer

GuillaumePA

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : CMake & SFML
« Réponse #23 le: Juin 15, 2015, 10:44:07 pm »
Merci, tout fonctionne parfaitement, et vous avez répondu à mes questions avec beaucoup de patience.