C
Cobra91151Қаң. 2, 2018, 11:31 Т.Ж.

Qt с UWP API

c++, qt, uwp

Здравствуйте! Я хочу разработать программу UWP на Qt 5.9.3. У меня уже все Qt UWP киты установлены и настроены, но проблема в том что не получается вызвать любой класс UWP API. Вот пример:

.h

#include <winrt/windows.devices.enumeration.h>
#pragma comment(lib, "windowsapp")
using namespace winrt;
using namespace winrt::Windows::Devices::Enumeration;
.cpp
init_apartment(); //this initializes com
DeviceInformationCollection infos = DeviceInformation::FindAllAsync().get();
for (const auto &info : infos) {
     qDebug() << QString::fromWCharArray(info.Name().c_str());
}
Загрузил https://github.com/Microsoft/cppwinrt и добавил в .pro:
INCLUDEPATH += "C:/Users/cobra/Downloads/Downloads Data/cppwinrt/10.0.16299.0"

Получается что только на AMRV7 компилирует. На x32/x64 выбрасывает много ошибок: 

Ta4rP.jpg
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

6
C
  • Қаң. 2, 2018, 11:33 Т.Ж.

Как думаете в чем может быть проблема? Спасибо заранее.

    Evgenii Legotckoi
    • Қаң. 2, 2018, 4:17 Т.Қ.

    День добрый!

    У вас там случаем в вашем коде нет точки с запятой где-нибудь в неположенном месте?
    Например, так
    int main();
    {
    }
    Теоретически ошибок быть не должно, но кто знает... проанализируйте свой код как следует.
    Может при разных платформах как-то некорректно игнорируется какой-нибудь define, в результате чего появляется лишняя точка с запятой.
      C
      • Қаң. 3, 2018, 3:24 Т.Ж.

      Я проверил, без UWP API, программа компилируется на x32/x64. Дело было в другом, я установил разшерение Qt на Visual Studio, добавил там проект и при компиляции там пишет что минимум 10.0.14393.0  версия Win SDK должна быть (так как была 8.1), изменил, не помогло, установил версию Win SDK на 10.0.16299.0 так как файлы идут с  папки cppwinrt, а там только для 10.0.16299.0 . Все компилируется но проблема при запуске. Получается что программа крашится при старте, даже если это пустой проект. Через Debugger не могу проверить так как ResultMacros.h не найден. Спасибо за помощь.

        C
        • Қаң. 3, 2018, 4:09 Т.Ж.

        Странно, если скомпилировать пустой проект на Qt тогда он запускается. А на Visual Studio проблема с Windows.UI.Xaml.dll библиотекой. Через нее идет сбой.

          Evgenii Legotckoi
          • Қаң. 3, 2018, 3:49 Т.Қ.

          Возможно, что-то не подключено для Qt в рамках настроек Visual Studio. Не знаю, вообще не работаю с Visual Studio, я её только ради MSVC обычно ставлю.

            C
            • Қаң. 4, 2018, 5:06 Т.Ж.

            Понятно. Видимо придется мне UWP прогу делать на VS. Спасибо.

              Пікірлер

              Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
              Кіріңіз немесе Тіркеліңіз
              Г

              C++ - Тест 001. Первая программа и типы данных

              • Нәтиже:66ұпай,
              • Бағалау ұпайлары-1
              t

              C++ - Тест 001. Первая программа и типы данных

              • Нәтиже:33ұпай,
              • Бағалау ұпайлары-10
              t

              Qt - Тест 001. Сигналы и слоты

              • Нәтиже:52ұпай,
              • Бағалау ұпайлары-4
              Соңғы пікірлер
              G
              GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
              Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
              d
              dblas5Шілде 5, 2024, 11:02 Т.Ж.
              QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
              k
              kmssrАқп. 8, 2024, 6:43 Т.Қ.
              Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
              АК
              Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
              Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
              Енді форумда талқылаңыз
              Evgenii Legotckoi
              Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
              добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
              F
              FynjyШілде 22, 2024, 4:15 Т.Ж.
              при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
              BlinCT
              BlinCTМаусым 25, 2024, 1 Т.Ж.
              Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
              BlinCT
              BlinCTМамыр 5, 2024, 5:46 Т.Ж.
              Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
              Evgenii Legotckoi
              Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
              Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

              Бізді әлеуметтік желілерде бақылаңыз