Hola,
Mi consulta es muy simple, pero ha sido una verdadera complicacion.
El problema es el siguiente:
- Deseo Crear una aplicacion que mediante una DLL llame a diversas funciones de ella.
- La DLL creada fue hecha en Visual C++ (Visual Studio 2008).
- La aplicacion, es una aplicacion simple de consola que solo mostrara el resultado del método llamado desde la DLL.
Lo que sucede es que no me funciona simplemente me salen errores con respecto a la vinculación del DLL a mi programa, debido a que hice en las referencias del proyecto un link->input al .lib del dll.
Mi dll la cree con un proyecto Win32 elijiendo el modo DLL, con privilegios de EXPORT, para ser las funciones llamadas desde otros programas.
La DLL es la siguiente en "agregar.h"
#ifdef AGREGAR_EXPORTS
#define AGREGAR_API __declspec(dllexport)
#else
#define AGREGAR_API __declspec(dllimport)
#endif
// This class is exported from the agregar.dll
class AGREGAR_API Cagregar {
public:
void Hola(void);
// TODO: add your methods here.
};
extern AGREGAR_API int nagregar;
AGREGAR_API int fnagregar(void);
el archivo agregar.cpp
void Cagregar::Hola()
{
std::cout<<"nHola Mundo";
}
Esto me compila y me genera el .lib y .dll sin ningun error ni problemas.
El problema surge cuando quiero llamarla desde mi programa principal hecho en C++.
Me podrian dar porfavor detalladamente la forma de hacer que mi programa principal acepte y llame a la funcion "Hola()" de la DLL.
Simplemente he leido miles de sitios y de especificaciones pero no he podido hacerlo...
Si me ayudaran se los agradeceré mucho...
PD: Otras consultas. Deben estar los .dll y .lib en la misma carpeta del proyecto de la aplicacion?, o como les doy el path en caso contrario?.
Daniel...