Неразрешенный внешний символ с использованием winrt::create_instance

Я портирую проект на C++/winrt и хочу избавиться от всех отвратительных COM-вызовов. Что мне нужно сделать, чтобы правильно связать create_instance и get_activation_factory?

не может решить _WINRT_CoCreateInstance@20 на х86 и WINRT_CoCreateInstance на х64. Какой заголовок мне нужно включить для разрешения этих символов?<winrt/base.h> и куча других заголовков winrt уже включены.

  • Целевая платформа: 10.0.17763 (мин. Версия: 10.0.14393)
  • Опции сборки: /await /permissive- /std: C++17 /ZW (без расширений win runtime)

Вместо того, чтобы написать это:

winrt::check_hresult(
  CoCreateInstance(
    CLSID_WICImagingFactory2,
      nullptr,
      CLSCTX_INPROC_SERVER,
      IID_PPV_ARGS(m_wicFactory.put())
  )
);

Я бы очень хотел использовать это:

m_wicFactory =
  winrt::create_instance<IWICImagingFactory2>(CLSID_WICImagingFactory2);

0 ответов

Другие вопросы по тегам