Почему CoCreateInstanceFromApp отсутствует в сборке ARM поверх сборки x64? - PullRequest
0 голосов
/ 18 октября 2018

На этот вопрос еще нет ответа
Я знаю, что означает неразрешенный внешний символ - я спрашиваю конкретно, почему при сборке в качестве 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 CoCreateIn...

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 &, struct IUnknown *, unsigned long, struct _GUID const &, void * *) "(? CoCreateInstance @@ YAJABU_GUID @@ PAUIUnknown @@ K0PAPAX @ Z) * ​​1038 *

DirectXTK_ARM.lib (WICTextureLoader.obj2019: ошибка unixна внешний символ __imp_PropVariantClear, на который есть ссылка в функции "long __cdecl" пространство анонимных имен ":: CreateTextureFromWIC (struct ID3D11Device *, struct ID3D11DeviceContext *, struct IWICBitmapFrameDecode *, беззнаковое целое, беззнаковый беззнаковый, int без знака, int-int, int, unsigned int, unsigned int, unsigned int, DED, int без знака, int без знака, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, DIDededDesigned*, структура ID3D11ShaderResourceView *)»(? CreateTextureFromWIC @? A0x2b71c33d @@ YAJPAUID3D11Device @@ PAUID3D11DeviceContext @@ PAUIWICBitmapFrameDecode @@ IW4D3D11_USAGE @@ IIIIPAPAUID3D11Resource @@ PAPAUID3D11ShaderResourceView @@@ Z) 1

1041 *

1 Ответ

0 голосов
/ 23 октября 2018

CoCreateInstance и PropVariantClear являются частью ole32.lib.

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

...