Относительно мобильности; при принятии той же архитектуры (и операционная система), затем виртуальная машина должна хорошо работать на обоих физических компьютерах. Если аппаратная конфигурация VM не изменяется слишком много, Вы не должны должны быть повторно активировать Windows в VM.
Нашел.
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();
};