На этот вопрос еще нет ответа
Я знаю, что означает неразрешенный внешний символ — я спрашиваю, почему при создании в качестве 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
CoCreateInstance
а также PropVariantClear
являются частью ole32.lib
,
Приложения UWP должны связываться с зонтиком
WindowsApp.lib
, но вы также можете ссылку на зонтикmincore.lib
для приложений IoT.
Других решений пока нет …