2017-12-27 318 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.