Использование libs / dll, скомпилированных в Linux / MinGW в Visual Studio

Обновление: я получаю это предупреждение при компиляции: несколько.текст' найдены разделы с разными атрибутами

Привет, я

Мы скомпилировали некоторые библиотеки (.a и .dll) в Linux, используя кросс-компилятор MinGW. Я могу успешно ссылаться на них (.a) в Visual Studio 2008. Однако, когда он запускается (используя .dll), он заканчивается указателем адреса, указывающим на пустые адреса памяти.

Есть ли способ / список вещей, которые позволят мне успешно использовать эти библиотеки в VC08?

Кросс-компилятор генерирует

* .dll.a* .dll

Спасибо

Ответы на вопрос(2)

Решение Вопроса

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

Вы должны иметь файл def и использовать VC 'Инструмент lib для создания библиотеки импорта.

 lalitm19 мар. 2013 г., 07:18
это неработать с C ++

что обе стороны не используют одно и то же соглашение о вызовах, то есть существует проблема в способе определения экспортированных функций dll.

Безусловно, самый простой подход заключается в определении функций каквнешний "C" определив экспортируемые функции следующим образом:

extern "C"
{
  int  MyExportedFunction(char *buffer, int length);
  void MyOtherFunction();
};
 jameszhao0018 авг. 2009 г., 05:32
У меня был экстерьер "C" в заголовке импорта.
 jameszhao0018 авг. 2009 г., 05:33
Я только что заметил. Я получаю несколько.текст' найдены разделы с разными атрибутами при компиляции.

Ваш ответ на вопрос