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

时间:2013-01-22 19:31:07

标签: 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();
}

1 个答案:

答案 0 :(得分:4)

与定义为_WIN32_WINNT或更高的0x0501进行比较。

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

请参阅Using the Windows Headers (MSDN)