Неразрешенный внешний символ с использованием 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);