Hola, la forma de usar una dll desde otro proyecto no es incluirla, debes usar la funcion LoadLibrary() para cargar la dll, y despues GetProcAddress() para tener acceso a los elementos publicados en la dll.
Para usar una clase de una dll, hay que hacer varios pasos:
- Definir una clase virtual "CBase" preferiblemente pura, (solo por claridad).
- En la dll implementar "CMiClase" por herencia de la "CBase", implementando sus metodos virtuales.
- En la dll crear una funcion (para exportar de la dll) que cree una nueva intancia de tu "CMiClase" y se retorna como CBase, el prototipo sera algo asi: CBase CrearClase();
- En tu proyecto incluyes el archivo de cabecera CBase.hpp cargas
la dll con LoadLibrary(), y obtienes la funcion CrearBase().
- Haces la llamada CrearClase, asignando el resultado a una variable apuntador de tipo CBase , y ya puedes llamar a los metodos implementados en la dll.
- Cuando termines de usar la dll, antes debes destruir todas las instancias de los objetos de la dll, entonces debes liberar la dll con FreeLibrary()
Revisa la documentacion para los parametros especificos de las funciones de manejo de dll de Win32.
Tambien puedes usar COM o COM+ pero es mucho mas complicado.
Saludos
-