【问题标题】:Using UWP API with Qt将 UWP API 与 Qt 一起使用
【发布时间】:2018-06-08 06:49:15
【问题描述】:

Visual Studio 中我包括:using namespace Windows::Devices::Enumeration; 并且它有效。在Qt 中添加/包含命名空间时出现错误。任何文档如何使用UWP APIQt

例如:

.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 一起使用?提前致谢。

【问题讨论】:

  • #include ,你在哪里见过这种类型的导入?
  • @eyllanesc 这只是一个测试。那么如何正确包含它呢?谢谢。
  • 我不是windows专家,但是那个include不符合C++的导入标准。
  • @eyllanesc 是的,我同意,但它找到了头文件。添加using namespace Windows::Devices::Enumeration; 时会引发错误:C2039: 'Devices': is not a member of 'Windows'UWP API 引用仅包含命名空间。

标签: c++ qt uwp


【解决方案1】:

我决定使用Visual Studio 开发原生UWP 应用程序,尽管我通过为VS 安装Qt 扩展并将Win SDK 套件切换到16299 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多