c++ - 如何在 Qt 控制台应用程序中使用 GetNativeSystemInfo

标签 c++ qt winapi

我正在尝试使用 GetNativeSystemInfo api 来获取操作系统的体系结构(如果是 32 位或 64 位操作系统),但是当我尝试编译代码时,出现此错误:“GetNativeSystemInfo”未声明在这个范围内,我的代码有什么问题?

#include <QtCore/QCoreApplication>
#include <QDebug>
#include <windows.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    _SYSTEM_INFO sysinfo;
    GetNativeSystemInfo(&sysinfo);
    if (sysinfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL)
    {
        qDebug() << "win32";
    }
    if (sysinfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
    {
        qDebug() << "win64";
    }

    return a.exec();
}

最佳答案

使用定义为 0x0501 或更高版本的 _WIN32_WINNT 进行编译。

#define _WIN32_WINNT 0x0501,或使用适当的编译器选项(对于 msvc,/D_WIN32_WINNT=0x0501)。

查看更多信息 Using the Windows Headers (MSDN) .

关于c++ - 如何在 Qt 控制台应用程序中使用 GetNativeSystemInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14466543/

相关文章:

c++ - 何时重载逗号运算符?

c++ - 将小部件添加到 QTabWidget

c++ - Qt显示/显示/提升窗口的正确方法

c - 为什么禁用带有 WS_CHILD 的父窗口内的编辑控件?

c++ - 视觉接受来自 std::byte 迭代器的 std::string

c++ - 打包任务参数是否存在数据竞争?

c++ - 关于 qtestmouse 中的 fallthrough 的警告?

c++ - Exe 不能在旧版本的 Windows 上运行

c++ - 当我使用 C++ win32 API 单击确定按钮时,如何隐藏当前窗口?

c++ - boost odeint : controlled stepper with custom class and vector space algebra