Tengo dos DLL a.dll y b.dll y en cada una tengo una clase AClass y BClass.
Me gustaría que tanto AClass como BClass hereden e implementen la misma interfaz AbsBase que es una clase abstracta pura.
En cada clase configuré #defines para __declspec (dllimport) y __declspect (dllexport). Cuando estoy tratando de compilar me sale esto:¿La clase base pura debe exportarse desde DLL?
C4275 advertencia: no DLL-interfaz de clase 'AClass' se utilizan como base para la clase DLL interfaz 'AbsBase'
que básicamente me quiere declarar AbsBase como __declspec (dllexport)
Pero si el compilador lo hiciera a su manera, tendría que declarar que AbsBase se exporta desde a.dll y b.dll.
¿Por qué se debe exportar la interfaz de una clase?
¿Hay alguna forma de evitarlo? ¿Debo realmente exportar AbsBase de ambas DLL? ¿No hay algo inherentemente malo en esto? (I necesitaría para definir un nuevo macro XXX_EXPORT ..)
¿Puedes hacer una tercera DLL? – jmucchiello
nos muestra su interfaz y declaraciones de clase. –