Visual Studio 2017 — Возможно ли ориентироваться на Windows 10.0.14393 с C ++ / WinRT?

Я хотел бы сделать приложение для моей Lumia, застрявшей на Win 10.0.14393 (или 1609) с использованием C ++ / WinRT. Я создал Пустое приложение проект с

  • Целевая версия платформы: 10.0.17134.0 и
  • Целевая платформа мин. версия: 10.0.14393.

Проект не компилируется со следующими ошибками:

ошибка C2039: «DisconnectUnloadedObject»: не является членом «winrt :: BlankApp2 :: creation :: MainPageT»

ошибка C2039: «UnloadObject»: не является членом «winrt :: BlankApp2 :: creation :: MainPageT»

Это ошибка или намеренное поведение? Пожалуйста, обратите внимание, что установка любого нового минимум версия приводит к успешной сборке.

2

Решение

Последняя версия C ++ / WinRT может поддерживать все версии Windows 10, включая 14393 и более ранние версии.

Помните, что C ++ / WinRT — это и библиотека, и языковая проекция. Языковая проекция обеспечивает доступ к API-интерфейсам Windows, предназначенным для данной версии Windows. Каждая версия представляет новые API. Поэтому, если вы хотите использовать минимальную версию Windows, вам нужно убедиться, что вы ограничиваете себя API-интерфейсами, доступными в этой версии Windows. Однако я бы порекомендовал использовать новейший компилятор и последнюю версию Windows SDK, поскольку они содержат множество исправлений ошибок.

0

Другие решения

Я предлагаю вам использовать Visual Studio 2015 при нацеливании на старые обновления C ++ / WinRT и Windows 10. У меня сложилось впечатление, что большинство из них были поставлены поверх Visual Studio 2015 с обновлениями Visual Studio 2015, а также обновлениями для Windows 10 SDK и C ++ / WinRT.

При использовании Visual Studio 2015 с C ++ / WinRT вам потребуется последнее обновление, обновление 3. Проверьте наличие обновлений и убедитесь, что ваша копия Visual Studio 2015 содержит самые последние обновления. Я просто использовал установку Visual Studio 2015 Enterprise для перекомпиляции чего-то, что прекрасно компилируется с Visual Studio 2017, и обнаружил, что мне не хватает инструментов и SDK, в том числе для Win 10 SDK 10.0.14393, которые были в обновлении 3, которое я еще не установил ,

Вы также можете перейти в раздел «Программы и компоненты» из панели управления, найти Microsoft Visual Studio 2015 в списке, а затем щелкнуть правой кнопкой мыши и изменить, что позволит вам проверить, что установлено, и что-либо изменить.

Работая с C ++ / WinRT в течение последних нескольких месяцев, я использовал и Visual Studio 2017 Community Edition, и Visual Studio 2015 Enterprise Edition.

Я видел различия при переносе решения с VS 2015 на VS 2017, которые требовали от меня просмотра страницы свойств решения. Смотрите также обсуждение в синхронизация SDK с обновлением Windows 10 и использование WinRT со стандартным C ++

Работа с последними обновлениями Windows 10 и VS 2017 работает лучше всего для меня, потому что я могу ориентироваться на последние обновления Windows 10. Однако я обнаружил, что попытка нацелить старые обновления Windows 10 с VS 2017 может быть проблематичной.

Извините, что не могу быть более конкретным. Во всей этой области обновлений C ++ / WinRT и Windows 10 гораздо больше ковбоев, чем мне бы хотелось, хотя сейчас это, похоже, успокаивается.

C ++ / WinRT — это библиотека шаблонов, которая изначально была проектом с открытым исходным кодом на GitHub. У меня сложилось впечатление, что Microsoft приобрела его, и теперь это стандартное предложение продукта. Я полагаю, что когда-то была значительно переписана C ++ / WinRT, поскольку Visual Studio 2015, а затем Visual Studio 2017 перешли к реализации большего количества C ++ 17 и предложенных стандартов C ++ 20 и Технических спецификаций для сопрограмм.

Это, кажется, область, все еще изменяющаяся в некоторой степени. Однако большинство изменений происходили с VS 2015 и в начале VS 2017 вместе с SDK. Похоже, что сейчас с последними обновлениями все довольно хорошо.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector