Bueno, iré al grano, me puse a crear una librería dinámica y para ser honesto no sé si estoy haciendo bien la importación/exportación.
Acá el código:
// main.h
#ifndef __MAIN_H__
#define __MAIN_H__
#ifndef DLL_MATH
#define DLL_MATH __declspec(dllimport)
#else
#define DLL_MATH __declspec(dllexport)
#endif
int DLL_MATH suma(int a, int b);
int DLL_MATH resta(int a, int b);
int DLL_MATH multip(int a, int b);
#endif //__MAIN_H__
// main.cpp
#include "main.h"
int DLL_MATH suma(int a, int b) {
return (a + b);
}
int DLL_MATH resta(int a, int b) {
return (a - b);
}
int DLL_MATH multip(int a, int b) {
return (a*b);
}
Como verán es bastante simple, hasta ridículo. Si cambio el orden, es decir, de esta forma:
//main.h
#ifndef __MAIN_H__
#define __MAIN_H__
#ifndef DLL_MATH
#define DLL_MATH __declspec(dllexport)
#else
#define DLL_MATH __declspec(dllimport)
#endif
int DLL_MATH suma(int a, int b);
int DLL_MATH resta(int a, int b);
int DLL_MATH multip(int a, int b);
#endif //__MAIN_H__
Sí funciona, pero a lo mejor he captado mal de dónde he leído, ¿no se suponía que si la macro no estaba definida se debía importar en la DLL, y una vez definida, exportar hacia el programa con el cual la estemos corriendo? Corregidme acá, por favor. :)
Oh, ya lo he pillado. No debí precipitarme en publicar esto, mi error. Un moderador por favor cierre el tema. :)