Bonjour a tous, ma question est tres simple. J'ai créé une DLL et j'utilise le mécanisme d'import / export suivant :
si je suis dans ma DLL (je l'exporte donc) :
#define MA_DLL_USE __declspec(dllexport)
sinon si je suis hors de la dll (je l'importe depuis une autre) :
#define MA_DLL_USE __declspec(dllimport)
et donc ma classe :
Donc ca me crée et m'exporte des fonctions de style 'C'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class MA_DLL_USE MaClasse { .... };
Hors il est impossible d'utiliser des templates avec des fonctions de style C bien sur.
Sauf que ma fonction template, qui est dans ma classe, est bien sur privée et elle n'a pas besoin d'etre exporté a la limite.
D'ou ma question:
Peut on exclure cette fonction de l'export et donc du "C-style cast" a l'interieur d'une classe __declspec(dllimport) ?
Quand je compile ma DLL, ca fonctionne tres bien. Quand je l'inclus dans mon projet, et que je compile ce dernier (donc la dll est en mode import), ca ne fonctionne pas, ca me fait une erreur de compil du genre "impossible d'utiliser les templates avec une fonction de style C".
Merci pour votre aide, a bientot.
Alexandre.
Partager