Ответ 1
Нашел.
http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs
У вас должен быть файл def и использовать инструмент VC lib для создания библиотеки импорта.
Обновление: я получаю это предупреждение при компиляции: несколько разделов '.text', найденных с различными атрибутами
Привет,
Я скомпилировал некоторые библиотеки (.a и .dll) в Linux с помощью кросс-компилятора MinGW. Я могу успешно связать их (.a) в Visual Studio 2008. Однако, когда он запускается (с использованием .dll), он заканчивается указателем адреса, указывающим на пустые адреса памяти.
Есть ли способ/список вещей, которые нужно сделать, это позволит мне успешно использовать эти библиотеки в VC08?
Перекрестный компилятор генерирует
Спасибо
Нашел.
http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs
У вас должен быть файл def и использовать инструмент VC lib для создания библиотеки импорта.
Мне кажется, что обе стороны не используют одно и то же соглашение о вызове, то есть проблема в том, как были определены экспортированные функции dll.
Напротив, самым простым подходом было бы определение функций как extern "C" путем определения экспортируемых функций следующим образом:
extern "C"
{
int MyExportedFunction(char *buffer, int length);
void MyOtherFunction();
};