Моя конечная цель здесь - выполнить g ++ из моего приложения MSVC для создания библиотек во время выполнения. DLL-файлы, которые создает g ++, будут загружены приложением MSVC для использования.
Просто возиться с некоторым тестовым кодом с помощью командной строки. Мне удалось построить dll, но, похоже, есть некоторые проблемы:
C:\MinGW\bin>g++ -shared -o testdll.dll AIFuncs_RF.cpp AIFuncs_RF.def
Warning: resolving _CreateAIModule by linking to _CreateAIModule@4
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _DestroyAIModule by linking to _DestroyAIModule@0
Вот мой файл определения:
LIBRARY "AIFuncs_RF"
EXPORTS
CreateAIModule=CreateAIModule @1
DestroyAIModule=DestroyAIModule @2
И код для основной dll:
BOOL APIENTRY DllMain(HMODULE hModule, DWORD Reason, LPVOID pReserved)
{ switch ( Reason )
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern "C" void __stdcall
CreateAIModule()
{
}
extern "C" void __stdcall
DestroyAIModule()
{
}
Есть идеи, почему функции не связаны правильно?
Большое спасибо за любую помощь.