Tengo una dll escrita en c++ (no se exactamente que version es), con su .h y su .lib que quiero poder utilizar desde c#. Con los métodos que no tenian parametros (o eran simples) no tuve problema utilizando el tipico DllImport, pero me topé con una que recibia un puntero a un struct que no pude salvar.
Por ello he pensado en utilizarlo desde c++ de vs2005 (creo que se llama c++/cli, no?). Me he creado un nuevo proyecto c++, he incluido el .h (#include "windows.h" e #include "rmtest.h") y he intentado ejecutar uno de los metodos de la dll que se especifican en ese .h (he empezado con uno sin parametros que funciona bien desde c#). Al compilar me he encontrado con este error:
--------
error LNK2028: unresolved token (0A00000E) "extern "C" bool __clrcall Initialize(void)" (?Initialize@@$$J0YM_NXZ) referenced in function "private: void __clrcall Prueba::Form1::button1_Click(class System:guaubject ^,class System::EventArgs ^)" (?button1_Click@Form1@Prueba@@$$FA$AAMXP$AAVObject @System@@P$AAVEventArgs@4@@Z)
--------
error LNK2019: unresolved external symbol "extern "C" bool __clrcall Initialize(void)" (?Initialize@@$$J0YM_NXZ) referenced in function "private: void __clrcall Prueba::Form1::button1_Click(class System:guaubject ^,class System::EventArgs ^)" (?button1_Click@Form1@Prueba@@$$FA$AAMXP$AAVObject @System@@P$AAVEventArgs@4@@Z)
--------
fatal error LNK1120: 2 unresolved externals
--------
El fichero rmtest.h lo he dejado en el mismo directorio del proyecto c++ que he creado yo y lo encuentra bien (me dio un error de compilacion porque no habia incluido tambien "windows.h"), pero donde tengo que dejar el .dll y el .lib? Es que el problema tiene pinta de ser que no los encuentra, no?
Si alguien puede darme unas pequeñas indicaciones se lo agradeceria.