2012-01-15 5 views
6

Estoy usando un framework C++ para un proyecto C# y usando swig para conectarlos.TypeInitializationException al usar swig para C#

El problema es que TypeInitializationException se lanza cada vez que intento crear un contenedor de objetos C++.

código C#

TRPoint p = new TRPoint(); 

donde TRPoint es una estructura C++

typedef struct { 
    float x, y; 
} TRPoint; 

enter image description here

detalles:

enter image description here

Tengo un proyecto de vc que crea el código de C++ en un archivo DLL, pero no sé cómo vincularlo correctamente.

+3

¿Cuál es la excepción interna? –

+0

Haga clic en Ver detalles. Swig llega a ser más bien una bendición mixta, un código de depuración que no comprendes cuando obtienes excepciones que no entiendes no es una alegría. Ve más lento. –

+0

@ M.Babcock He actualizado la pregunta. –

Respuesta

3

La excepción dice "no se puede cargar la DLL": parece que tiene not built the C++ code que genera SWIG, o posiblemente tiene un problema de ruta si está compilada.

+0

He creado el código C++ en el archivo DLL pero no podemos cargarlo usando DllImport. –

+0

El enlace a las preguntas frecuentes probablemente debería actualizarse a este: https://github.com/swig/swig/wiki/FAQ#shared-libraries – matth

Cuestiones relacionadas