我将lua软件包添加到了我的c ++项目中,但是当我的项目中包含lua时,附加DLL时都不会调用任何函数,但是当我不包含lua时,附件中就会出现消息框。我确定这不是注入程序,因为我测试了带有多个程序的DLL,现在它使我发疯。有人在正确的道路上有任何解决方案或步骤吗?我真的很感激!
使用的软件包:https://bitbucket.org/sgrottel_nuget/lua/overview
编辑:包括lua头会从我的dll中删除功能。删除lua标头(注释为“ #include“ lua.hpp”)将弹出消息框。我使用lua包是否错误或是否错过了一个小步骤?
#include "FVM.h" // includes lua headers etc. (when removed function works on attachment)
// Entry point
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBoxA(NULL, "attached", "Function", MB_OK);
case DLL_THREAD_ATTACH:
MessageBoxA(NULL, "attached", "Function", MB_OK);
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}