Pregunta

Actualización: Me esta advertencia al compilar: secciones múltiples '' .text encontraron con diferentes atributos

Hola,

He recopilado algunas bibliotecas (.a y .dll) en Linux utilizando el compilador MinGW Cruz. Puedo unir con éxito contra ellos (.a) en Visual Studio 2008. Sin embargo, cuando se ejecuta (usando .dll), que termina con el puntero que apunta en dirección de las direcciones de memoria vacías.

¿Hay una manera / una lista de cosas que hacer que se me permite utilizar esas bibliotecas con éxito en VC08?

El compilador cruzado genera

  1. *. Dll.a
  2. *. Dll

Gracias

¿Fue útil?

Solución

Encontrados ella.

http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs

Hay que tener un archivo de definición y el uso de herramientas lib de la CV para generar una biblioteca de importación.

Otros consejos

Me suena igual que las dos partes no están utilizando la misma convención de llamada, es decir, hay un problema en la forma en que las funciones DLL exportadas se han definido.

Con mucho, el método más sencillo sería definir las funciones como extern "C" mediante la definición de las funciones exportadas de la siguiente manera:

extern "C"
{
  int  MyExportedFunction(char *buffer, int length);
  void MyOtherFunction();
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top