c++ - 即使包含头文件也没有声明“windows”

我正在尝试在 C++ 中创建一个窗口,并包含 windows.h,但我收到一个错误,即“windows”尚未声明。

我正在关注 Microsoft Docs 上的 https://docs.microsoft.com/en-us/windows/win32/learnwin32/creating-a-window 教程,但由于此错误,我似乎无法让它工作。

到目前为止,这是我的代码:

#include <iostream>
#include <string>
#include <windows.h>


using namespace std;

int main()
{
    // Register the window class
    const wchar_t CLASS_NAME[] = L"Sample Window Class";
    windows::WNDCLASS wc = { 0 };
    wc.lpfnWndProc = windows::DefWindowProc;
    wc.hInstance = windows::GetModuleHandle(NULL);
    wc.lpszClassName = CLASS_NAME;
    windows::RegisterClass(&wc);

    const windows::DWORD window_style = windows::WS_OVERLAPPEDWINDOW;
    const windows::DWORD window_ex_style = windows::WS_EX_APPWINDOW;
    const windows::RECT window_rect = { 0, 0, 640, 480 };
    windows::AdjustWindowRectEx(&window_rect, window_style, FALSE, window_ex_style);
    windows::HWND window_handle = windows::CreateWindowEx(
        window_ex_style,
        CLASS_NAME,
        L"Sample Window",
        window_style,
        windows::CW_USEDEFAULT,
        windows::CW_USEDEFAULT,
        window_rect.right - window_rect.left,
        window_rect.bottom - window_rect.top,
        NULL,
        NULL,
        windows::GetModuleHandle(NULL),
        NULL
    );

    windows::ShowWindow(window_handle, windows::SW_SHOWDEFAULT);
    windows::UpdateWindow(window_handle);

    

    return 0;
}

我究竟做错了什么?

回答1

我测试了代码,我得到了错误:error C2653: 'windows': is not a class or namespace name

c++ 中没有 windows 命名空间。就我而言,您应该删除 windows::

借助 https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt,您可以使用标准 C++ 数据类型(包括一些 C++ 标准库数据类型)调用 Windows 运行时 API。当你想使用 c++/cx 时,你需要访问命名空间“windows”。

Windows 运行时类型系统要求所有公共 Windows 运行时类型(包括您自己代码中的那些类型)必须在命名空间范围内的命名空间中声明。

如果您想使用 C++/CX,您可以使用 https://docs.microsoft.com/en-us/cpp/build/reference/zw-windows-runtime-compilation?view=msvc-170 启用 C++/CX。

我建议您可以参考文档:https://docs.microsoft.com/en-us/cpp/cppcx/namespaces-and-type-visibility-c-cx?view=msvc-170

相似文章

最新文章