。dll中未声明的LNK2001外部符号_main,已声明DllMain?

问题描述 投票:-1回答:1

我在VS中编译时出错:

LNK2001无法解析的外部符号_main文件:MSVCRT.lib(exe_main.obj)

仅当在发行版x86中进行编译而不在Debug x86中进行编译时,才会发生此错误。

 #include "includes.h"

BOOL APIENTRY DllMain(
    HINSTANCE handle,
    DWORD fdwReason,
    LPVOID lpReserved) 
{
    switch (fdwReason)
    {
    case DLL_PROCESS_ATTACH:
        AllocConsole();
        freopen("CONIN$", "r", stdin);
        freopen("CONOUT$", "w", stdout);
        _beginthreadex(NULL, 0, directxThread, 0, 0, 0);
        break;

    case DLL_THREAD_ATTACH:
        break;

    case DLL_THREAD_DETACH:
        break;

    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

我在VS中编译时遇到错误:LNK2001无法解析的外部符号_main文件:MSVCRT.lib(exe_main.obj)仅在x86版本中进行编译而不在Debug x86中进行编译时,才会发生此错误。 #...

c++ winapi dll
1个回答
0
投票

这可能是您的IDE /编译器命令的问题。如果可能,应在启用释放模式时检查发送到cl.exe的确切命令,并确保MSVCRT.lib存在于编译器命令中。有关更多信息,请参见this link

© www.soinside.com 2019 - 2024. All rights reserved.