试图使用Win32打开窗口,但出现错误:未定义对的引用`WinMain@16'; 我试图用C++中的Win32 API创建一个窗口,但是我一直在得到一个错误:

试图使用Win32打开窗口,但出现错误:未定义对的引用`WinMain@16'; 我试图用C++中的Win32 API创建一个窗口,但是我一直在得到一个错误:,c++,winapi,visual-studio-code,mingw,C++,Winapi,Visual Studio Code,Mingw,未定义的引用`WinMain@16" 在VSC中使用默认构建任务时,甚至不会在目录中创建任何可执行文件。我已经尝试将%PATH%系统变量更新为'C:\MinGW\bin;C:\MinGW\msys\1.0\bin;' 我使用的代码是由Microsoft提供的,用于生成一个窗口,因此我不确定是什么导致了这个问题 这是我的密码: #ifndef UNICODE #define UNICODE #endif #include <windows.h> LRESULT CALLBACK

未定义的引用`WinMain@16"

在VSC中使用默认构建任务时,甚至不会在目录中创建任何可执行文件。我已经尝试将
%PATH%
系统变量更新为
'C:\MinGW\bin;C:\MinGW\msys\1.0\bin;'

我使用的代码是由Microsoft提供的,用于生成一个窗口,因此我不确定是什么导致了这个问题

这是我的密码:

#ifndef UNICODE
#define UNICODE
#endif 

#include <windows.h>

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
    // Register the window class.
    const wchar_t CLASS_NAME[]  = L"Sample Window Class";
    
    WNDCLASS wc = { };

    wc.lpfnWndProc   = WindowProc;
    wc.hInstance     = hInstance;
    wc.lpszClassName = CLASS_NAME;

    RegisterClass(&wc);

    // Create the window.

    HWND hwnd = CreateWindowEx(
        0,                              // Optional window styles.
        CLASS_NAME,                     // Window class
        L"Learn to Program Windows",    // Window text
        WS_OVERLAPPEDWINDOW,            // Window style

        // Size and position
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,

        NULL,       // Parent window    
        NULL,       // Menu
        hInstance,  // Instance handle
        NULL        // Additional application data
        );

    if (hwnd == NULL)
    {
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);

    // Run the message loop.

    MSG msg = { };
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return 0;
}

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;

    case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hwnd, &ps);



            FillRect(hdc, &ps.rcPaint, (HBRUSH) (COLOR_WINDOW+1));

            EndPaint(hwnd, &ps);
        }
        return 0;

    }
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
#ifndef UNICODE
#定义UNICODE
#恩迪夫
#包括
LRESULT回调WindowProc(HWND-HWND、UINT-uMsg、WPARAM-WPARAM、LPARAM-LPARAM);
int WINAPI wWinMain(HINSTANCE HINSTANCE、HINSTANCE hPrevInstance、PWSTR pCmdLine、int nCmdShow)
{
//注册窗口类。
常量wchar_t CLASS_NAME[]=L“示例窗口类”;
WNDCLASS wc={};
wc.lpfnWndProc=WindowProc;
wc.hInstance=hInstance;
wc.lpszClassName=类名称;
注册类(&wc);
//创建窗口。
HWND HWND=CreateWindowEx(
0,//可选的窗口样式。
类\名称,//窗口类
L“学习编程窗口”,//窗口文本
WS\u重叠窗口,//窗口样式
//大小和位置
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,//父窗口
NULL,//菜单
hInstance,//实例句柄
NULL//其他应用程序数据
);
if(hwnd==NULL)
{
返回0;
}
显示窗口(hwnd、nCmdShow);
//运行消息循环。
MSG={};
while(GetMessage(&msg,NULL,0,0))
{
翻译信息(&msg);
发送消息(&msg);
}
返回0;
}
LRESULT回调WindowProc(HWND HWND、UINT uMsg、WPARAM WPARAM、LPARAM LPARAM)
{
开关(uMsg)
{
案例WM_销毁:
PostQuitMessage(0);
返回0;
案例WM_油漆:
{
PAINTSTRUCT-ps;
HDC HDC=开始喷漆(hwnd和ps);
FillRect(hdc和ps.rcPaint,(HBRUSH)(颜色窗口+1));
端漆(hwnd和ps);
}
返回0;
}
返回DefWindowProc(hwnd、uMsg、wParam、lParam);
}

使用我认为这就是原因:
#定义UNICODE
如果构建失败,您将无法获得可执行文件。相关信息:对于这个确切的错误消息,StackOverflow上有大量重复的问题,这一点都不好笑。在发布此问题之前,您没有尝试搜索现有答案吗?