Почему 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 ....
Больше информации, если требуется:
Я изменил этот образец Desktop Duplication от Microsoft, чтобы сделать снимок экрана вместо дублирования, и таким образом удалил код окна и использовал DirectXTK для сохранения файла. Это прекрасно работает на моем рабочем столе и на Minnowboard (x64 Win10 IoT). Но если я попытаюсь скомпилировать для Raspberry PI (ARM), произойдет сбой с ошибкой ссылки:
DirectXTK_ARM.lib (WICTextureLoader.obj): ошибка LNK2019: неразрешенный внешний символ __imp_CoCreateInstanceFromApp, на который имеется ссылка в функции "long __cdecl CoCreateInstance(структура _GUID const &, структура IUnknown *, структура без знака *, длинная строка); @ YAJABU_GUID @@ PAUIUnknown @@ K0PAPAX @ Z)
DirectXTK_ARM.lib (WICTextureLoader.obj): ошибка LNK2019: неразрешенный внешний символ __imp_PropVariantClear, на который ссылается функция "long __cdecl ` анонимное пространство имен "::CreateTextureFromWIC(struct ID3D11Device *,struct ID3D11DeignignTignEignEignEignExt), беззнаковое целочисленное значение, беззнаковое целочисленное значение, беззнаковое целочисленное значение, структура ID3D11Resource *, структура ID3D11ShaderResourceView *)" (?CreateTextureFromWIC@?A0x2b71c33d@@YAJPAUID3D11Device@@PAUID3D11DeviceContext@@PAUIWICBitmapFrameDecode@@IW4D3D11_USAGE@@IIIIPAPAUID3D11Resource@@PAPAUID3D11ShaderResourceView@@@Z) 1
1 ответ
CoCreateInstance
а также PropVariantClear
являются частью ole32.lib
,
Приложения UWP должны связываться с зонтиком
WindowsApp.lib
, но вы также можете ссылку на зонтикmincore.lib
для приложений IoT.