J'ai deux DLL a.dll et b.dll et dans chacun j'ai une classe AClass et BClass.
Je voudrais que AClass et BClass héritent et implémentent la même interface AbsBase qui est une pure classe abstraite.
Dans chaque classe, j'ai défini les #defines pour __declspec (dllimport) et __declspect (dllexport). Quand je suis en train de compiler je reçois ceci:La classe de base pure doit être exportée de DLL?
avertissement C4275: classe non dll interface 'AClass' utilisé comme base pour la classe dll-interface 'AbsBase'
qui veut essentiellement déclarer AbsBase comme __declspec (dllexport)
Mais si le compilateur le voulait, je devrais déclarer AbsBase pour être exporté depuis a.dll et b.dll.
Pourquoi l'interface d'une classe doit-elle être exportée?
Y a-t-il un moyen de contourner le problème? dois-je vraiment exporter AbsBase des deux DLL? N'y a-t-il pas quelque chose qui ne va pas? (Je aurais besoin de définir une nouvelle macro XXX_EXPORT ..)
Pouvez-vous créer une troisième DLL? – jmucchiello
montrez-nous vos déclarations d'interface et de classe. –