Почему CoCreateInstanceFromApp отсутствует в сборке ARM поверх сборки x64?

На этот вопрос еще нет ответа
Я знаю, что означает неразрешенный внешний символ — я спрашиваю, почему при создании в качестве ARM функции DirectX для моего проекта отсутствуют. Когда я строю свой проект DirectX для Raspberry Pi, я получаю ссылки на ошибки ниже. Почему CoCreateInstFromApp отсутствует только для сборки ARM?

Документация Microsoft по CoCreateInstanceFromApp подразумевается, что он должен просто присутствовать в любом исполняемом файле Windows — это на самом деле то, что я вижу при сборке x86 или x64 версий одного и того же проекта. Он должен присутствовать, поскольку DirectX поддерживает архитектуру ARM — или я что-то пропустил?

Проект в том числе d3d11.lib & dxgi.lib, который я предположил, он выберет из правильного каталога — но не получит никаких конкретных ошибок об этих библиотеках. Проект C ++ в Visual Studio 2017 Pro v15.8.7.

Ошибка отредактированной ссылки:

DirectXTK_ARM.lib: ошибка LNK2019: не устранена
внешний символ __imp_CoCreateInstanceFromApp, указанный в функции
«long __cdecl CoCreateInstance …

DirectXTK_ARM.lib: ошибка LNK2019: не устранена
внешний символ __imp_PropVariantClear ….


Больше информации, если требуется:

Я изменил это Образец дублирования рабочего стола от Microsoft, чтобы сделать снимок экрана вместо дублирования, и таким образом удалил код окна и использовал DirectXTK для сохранения файла. Это прекрасно работает на моем рабочем столе и на Minnowboard (x64 Win10 IoT). Но если я попытаюсь скомпилировать для Raspberry PI (ARM), произойдет сбой с ошибкой ссылки:

DirectXTK_ARM.lib (WICTextureLoader.obj): ошибка LNK2019: не устранена
внешний символ __imp_CoCreateInstanceFromApp, указанный в функции
«long __cdecl CoCreateInstance (struct _GUID const &, структура IUnknown
* без знака long, структура _GUID const &, void * *) «(? CoCreateInstance @@ YAJABU_GUID @@ PAUIUnknown @@ K0PAPAX @ Z)

DirectXTK_ARM.lib (WICTextureLoader.obj): ошибка LNK2019: не устранена
внешний символ __imp_PropVariantClear указан в функции «long
__cdecl `анонимное пространство имен ‘:: CreateTextureFromWIC (struct ID3D11Device *, struct ID3D11DeviceContext *, struct
IWICBitmapFrameDecode *, без знака int, перечисление D3D11_USAGE, без знака
int, unsigned int, unsigned int, unsigned int, struct ID3D11Resource *
*, struct ID3D11ShaderResourceView * *) «(? CreateTextureFromWIC @? A0x2b71c33d @@ YAJPAUID3D11Device @@ PAUID3D11DeviceContext @@ PAUIWICBitmapFrameDecode @@ IW4D3D3@@@@@@@@@@@@@@@@IDIDID.ID
1

-1

Решение

CoCreateInstance а также PropVariantClear являются частью ole32.lib,

Приложения UWP должны связываться с зонтиком WindowsApp.lib, но вы также можете ссылку на зонтик mincore.lib для приложений IoT.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]