2
我的最終目標是從我的MSVC應用程序執行g ++以在運行時構建dll。 g ++創建的dll將被MSVC應用程序加載使用。用g ++編譯用於MSVC應用程序的dll
只需使用命令行我設法建立一個DLL瞎搞一些測試代碼,但它似乎有一些問題:
C:\MinGW\bin>g++ -shared -o testdll.dll AIFuncs_RF.cpp AIFuncs_RF.def
Warning: resolving _CreateAIModule by linking to [email protected]
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _DestroyAIModule by linking to [email protected]
這裏是我的DEF文件:
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()
{
}
任何想法,爲什麼功能沒有正確鏈接?
非常感謝您的幫助。