Forum de la communauté SFML

Aide => Général => Discussion démarrée par: paolo10 le Juillet 07, 2015, 06:53:40 pm

Titre: Créer une librairie utilisant SFML
Posté par: paolo10 le Juillet 07, 2015, 06:53:40 pm
Bonjour,
J'ai créé une librairie utilisant SFML juste pour mettre des fonctions et classes pour me faciliter la vie.
Tout marchait(compilait) parfaitement jusqu'à ce que fasse un projet de test. Celui-ci compile mais c'est au linkage que ça coince .
Dons voilà je ne sais pas comment faire le linkage.
Dois-je linker :
-ma lib avec la sfml et mon projet avec ma lib.
-mon projet avec la sfml et ma lib.
-ma lib avec la sfml et mon projet avec ma lib et sfml.

Merci pour votre aide ( ;D)
Titre: Re : Créer une librairie utilisant SFML
Posté par: paolo10 le Juillet 07, 2015, 07:46:41 pm
J'ai trouvé :
la bonne réponse était : mon projet avec la sfml et ma lib.

Les erreurs de link avec la sfml sont donc résolues mais j'ai encore des erreurs au sein même de ma librairie:
les fonctions de ma lib sont toutes dans le namespace Game et celles concernant les vecteurs sont en plus dans un namespace Vector.
Dans le fichier Collision.hpp se trouvent les prototypes de mes fonctions de collisions.
Celles-ci utilisent les fonctions des vecteurs dont les prototypes se trouvent dans le header Vector.hpp inclus par Collision.hpp et dont le corps se trouvent dans le fichier Vector.cpp.
Or le linker m'indique que les fonction vectorielles utilisées par les fonctions de collisions ne sont pas définies.
Titre: Re : Créer une librairie utilisant SFML
Posté par: christophedlr le Juillet 19, 2015, 09:49:10 am
Concernant ton second problème je ne pourrais hélas pas t'aider. Pour le premier, tu as un autre choix de résolution : compilation statique, c'est à dire que ta librairie contient la SFML et non en dépend, ce qui te permet alors de linker que ta librairie et non la SFML en plus.

Si le but est de fournir ensuite ta librairie, cela peut être une bonne idée d'utiliser la SFML en statique et donc incluse dans ta lib, comme ça pas besoin d'installer la SFML + ta lib pour utiliser ta lib, suffit que de la tienne.
Titre: Re : Créer une librairie utilisant SFML
Posté par: paolo10 le Août 23, 2015, 05:48:55 pm
Concernant ton second problème je ne pourrais hélas pas t'aider.

En fait il fallait déclarer les templates.


Pour le premier, tu as un autre choix de résolution : compilation statique, c'est à dire que ta librairie contient la SFML et non en dépend, ce qui te permet alors de linker que ta librairie et non la SFML en plus.

Si le but est de fournir ensuite ta librairie, cela peut être une bonne idée d'utiliser la SFML en statique et donc incluse dans ta lib, comme ça pas besoin d'installer la SFML + ta lib pour utiliser ta lib, suffit que de la tienne.

C'est ce que je fais mercii quand même  ;D.