2017-12-27 573 views
0

Visual Studio我包括:using namespace Windows::Devices::Enumeration;它工作。在Qt中添加/包含名称空间时,出现错误。任何文档如何使用UWP APIQt使用带有Qt的UWP API

例如:

.h 
#include <windows.devices.enumeration.h> 

.cpp 
DeviceAccessInformation deviceInfo; 

我得到错误:C2065: 'DeviceAccessInformation': undeclared identifier

更新:

我发现相关问题的一些信息。所以我已将Win SDK路径(INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0")添加到.pro文件。还将#include "winrt/windows.devices.enumeration.h"添加到头文件中,但它仍然找不到DeviceAccessInformation deviceInfo;,抛出错误:C2065: DeviceAccessInformation: undeclared identifier

此外我已检查了示例,并添加了命名空间。 using namespace winrt;

,并显示错误:C2871: 'winrt': a namespace with this name does not exist

而且我已经注意到了警告:-1: warning: winrt_manifest_install.path is not defined: install target not created

我已经包括WindowsApp库,但问题仍然存在。

contains(QMAKE_TARGET.arch, x86_64) { 
    LIBS += -L"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.16299.0/um/x64" -lWindowsApp 
} else { 
    LIBS += -L"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.16299.0/um/x86" -lWindowsApp 
} 

我认为问题是与错误包括或我缺少的东西。

更新2:

任何人都可以证实Qt 5.9.3 UWP x32/x64套件与UWP API工作?提前致谢。

+0

的#include 解决了该问题,开发原生应用UWP,哪里有你看过这种类型的导入吗? – eyllanesc

+0

@eyllanesc 这只是一个测试。那么如何正确包含它?谢谢。 – Cobra91151

+0

我不是windows的专家,但那不包括C++导入的标准。 – eyllanesc

回答

0

我已经决定使用Visual Studio即使我通过安装Qt扩展VS和开关Win SDK套件16299.