Foros del Web » Programación para mayores de 30 ;) » .NET »

Utilizar dll C++ nativo desde C++ VS2005

Estas en el tema de Utilizar dll C++ nativo desde C++ VS2005 en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/03/2008, 05:13
Avatar de RaYWoLF  
Fecha de Ingreso: septiembre-2003
Mensajes: 99
Antigüedad: 20 años, 7 meses
Puntos: 0
Utilizar dll C++ nativo desde C++ VS2005

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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.