Bonjour,
Pour le problème qui m'occupe, je code sous QtCreator et je compile avec MinGW sous Windows 7.
J'ai codé une petite librairie de mon cru, qui ne fait pas grand chose pour le moment, ainsi qu'un programme client pour utiliser et tester cette librairie.
Le problème est que lorsque je compile le programme client, j'ai plein de messages d'erreur (à l'édition des liens, je crois) : "undefined reference to '_imp__..."
Manifestement, il ne trouve pas les implémentations des fonctions de ma librairie.
En fait, après documentation, j'ai appris que pour utiliser une librairie dans ma configuration, deux fichiers sont nécessaires : le .dll et le .lib
Mais à la compilation de ma librairie, le .lib n'est jamais généré, et la raison semble en être du fait qu'il n'y a aucun fichier .cpp dans ce projet.
Seulement ma librairie n'utilise que des classes template, et pour cela, je suis obligé de placer les implémentations des fonctions dans le fichier .h, sinon ça ne fonctionne pas, d'où l'absence de fichier .cpp
Alors là, je suis face à un paradoxe : je dois mettre les implémentations de ma librairie dans les fichiers .h pour que les classes template fonctionnent mais en même temps je dois les mettre dans le fichier .cpp sinon le programme client ne les trouve pas à l'édition des liens.
Alors que puis-je faire ?
Partager