使用MinGW构建Qt项目以使用WinRT API

时间:2018-02-23 19:48:12

标签: c++ qt mingw c++-winrt

我想使用Qt 5.9.2 MinGW 32bit创建的应用程序中的WinRT API(如these)提供的库。我有Windows 10操作系统。

现在,我已经设置了如下所示的套件。

MinGW Kit Setup

然后,在.pro文件中,我添加了:

CONFIG += c++1z

SOURCES += main.cpp

 ### Windows 10 SDK

 win32:CONFIG(release, debug|release): LIBS += -L$$PWD/'../../../../Program Files (x86)/Windows Kits/10/Lib/10.0.16299.0/um/x86/' -lWindowsApp
 else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/'../../../../Program Files (x86)/Windows Kits/10/Lib/10.0.16299.0/um/x86/' -lWindowsApp

 INCLUDEPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared'
 DEPENDPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared'
 INCLUDEPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um'
 DEPENDPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um'
 INCLUDEPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt'
 DEPENDPATH += $$PWD/'../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt'
 INCLUDEPATH += $$PWD/'../../../../Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.12.25827/include'
 DEPENDPATH += $$PWD/'../../../../Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.12.25827/include'
 INCLUDEPATH += $$PWD/../ne-patient-app-libraries/cppwinrt/10.0.16299.0/
 DEPENDPATH += $$PWD/../ne-patient-app-libraries/cppwinrt/10.0.16299.0/

我从GitHub rep获得了cppwinrt,从Windows Dev Center获得了Windows 10 SDK。

我刚刚在main.cpp中添加了一些行来测试正确的编译:

#include <QCoreApplication>
#include <winrt/Windows.Devices.WiFi.h>

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

    WiFiAdapter wiFiAdapter;

    return a.exec();
}

运行qmakebuild后,我收到了以下错误:

  

C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.16299.0 \ ucrt \ corecrt_stdio_config.h:31:错误:#error不支持的架构            #error不支持的架构             ^

     

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ VC \ Tools \ MSVC \ 14.12.25827 \ include \ new:23:错误:#error不支持的体系结构      #error不支持的架构       ^

     

C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.16299.0 \ um \ winnt.h:1008:错误:#error必须定义目标体系结构。    #error必须定义目标体系结构。     ^

...以及来自文件的其他人:corecrt_stdio_config.hwinnt.hoaidl.hDirectXMath.hvcruntime.hyvals.h

这是编译器运行的详细构建命令:

g++ -c -fno-keep-inline-dllexport -g -std=gnu++1z -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_CORE_LIB -I../uwp-test -I. -I"../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared" -I"../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um" -I"../../../../Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt" -I"../../../../Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.12.25827/include" -I../ne-patient-app-libraries/cppwinrt/10.0.16299.0 -I../../../../Qt/5.9.2/mingw53_32/include -I../../../../Qt/5.9.2/mingw53_32/include/QtCore -Idebug -I../../../../Qt/5.9.2/mingw53_32/mkspecs/win32-g++  -o debug/main.o ../uwp-test/main.cpp

我错过了什么?有什么可以解决这个问题?谢谢!

0 个答案:

没有答案