SMRprisma.obj : error LNK2001: unresolved external symbol "public: static int SMRcolision::indiceArista" (?indiceArista@SMRcolision@@2HA)Debug/SMR.dll : fatal error LNK1120: 1 unresolved externals
Resulta que al acceder a la dll inmediatamente salta un access violation 0xC0000005 , cosa que no pasa si retiro las variables static, asi que supongo que estaran mal exportadas.
¿Que queres decir con acceder a la DLL? ¿Cargarla en memoria o acceder a esa variable estatica? Depura el ejecutable para ver que instruccion es la causante del problema ... supongo que estas usando enlazado estatico ...
¿Que es DLL_API? ¿__declspec(dllexport)? ¿Te compila ese codigo? Proba con:static int DLL_API myVar;
member of dll interface class may not be declared with dll interface
Supongo que sera cuando carga la dll en memoria, por que desde la aplicacion no instancio a la variable estatica , ademas al debuggear no me lleva a codigo de la dll, me da el access violation y luego me da otro error de access violation en ntdll.dll que es donde se para el debugger
SMRpunto3D SMR_API SMRcolision::puntoContacto=NULL // da falloSMRpunto3D SMR_API SMRcolision::puntoContacto=SMRpunto3D(0.0,0.0,0.0); // no da fallo de momento.
Tenes que ver la pila de llamadas para identificar de donde proviene el error.
¿¿SMRpunto3D es un puntero?? La verdad es que no entiendo como pueden compilar esas dos lineas al mismo tiempo ... lo primero no deberia compilar a menos que fuera un puntero y lo segundo no deberia compilar con un puntero ...
PD. NULL es 0
Soy un inculto en esas lides, ¿como se mira?
SMRpunto3D es la llamada al constructor de la clase de igual nombre SMRpunto3D
Si pero no se donde lei que podia dar problemas el inicializar a NULL en c++ y que era mejor inicializar a 0, por eso probe ...
Por eso, la primera linea no puede compilar al estar tratando de transformar un int (NULL que es 0) a una clase ...
Es verdad, no habia caido, de cualquier forma compilar si que compila y tampoco arroja ningun warningGracias