为什么 CoCreateInstanceFromApp 在 ARM 构建中缺少 x64 构建?
Why is CoCreateInstanceFromApp missing from an ARM build over an x64 build?
这个问题还没有答案
我知道未解析的外部符号是什么意思 - 我特别询问为什么在构建为 ARM 时,我的项目缺少 DirectX 函数。当我为 Raspberry Pi 构建 DirectX 项目时,出现以下 link 错误。 为什么 CoCreateInstFromApp 仅针对 ARM 构建缺少?
CoCreateInstanceFromApp 上的 Microsoft 文档暗示它应该简单地存在于任何 Windows 可执行文件中 - 这实际上是我在构建同一项目的 x86 或 x64 版本时看到的。它应该存在,因为 DirectX 确实支持 ARM 架构 - 或者我错过了什么?
该项目包括 d3d11.lib
和 dxgi.lib
,我认为它会从正确的目录中获取 - 但没有得到关于这些库的特定错误。该项目是 Visual Studio 2017 Pro v15.8.7.
中的 C++
已编辑 link 错误:
DirectXTK_ARM.lib : error LNK2019: unresolved
external symbol __imp_CoCreateInstanceFromApp referenced in function
"long __cdecl CoCreateInstance ...
DirectXTK_ARM.lib : error LNK2019: unresolved
external symbol __imp_PropVariantClear ....
更多信息,如果需要:
我已更改此 Desktop Duplication sample from Microsoft to do a screen-shot instead of duplication, and thus removed the window code and used DirectXTK 以保存文件。这在我的桌面和 Minnowboard (x64 Win10 IoT) 上效果很好。但是,如果我尝试为 Raspberry PI (ARM) 编译,它会因 link 错误而失败:
DirectXTK_ARM.lib(WICTextureLoader.obj) : error LNK2019: unresolved
external symbol __imp_CoCreateInstanceFromApp referenced in function
"long __cdecl CoCreateInstance(struct _GUID const &,struct IUnknown
*,unsigned long,struct _GUID const &,void * *)" (?CoCreateInstance@@YAJABU_GUID@@PAUIUnknown@@K0PAPAX@Z)
DirectXTK_ARM.lib(WICTextureLoader.obj) : error LNK2019: unresolved
external symbol __imp_PropVariantClear referenced in function "long
__cdecl `anonymous namespace'::CreateTextureFromWIC(struct ID3D11Device *,struct ID3D11DeviceContext *,struct
IWICBitmapFrameDecode *,unsigned int,enum D3D11_USAGE,unsigned
int,unsigned int,unsigned int,unsigned int,struct ID3D11Resource *
*,struct ID3D11ShaderResourceView * *)" (?CreateTextureFromWIC@?A0x2b71c33d@@YAJPAUID3D11Device@@PAUID3D11DeviceContext@@PAUIWICBitmapFrameDecode@@IW4D3D11_USAGE@@IIIIPAPAUID3D11Resource@@PAPAUID3D11ShaderResourceView@@@Z)
1
CoCreateInstance
和 PropVariantClear
是 ole32.lib
的一部分。
UWP apps should link with the umbrella WindowsApp.lib
, but you can also link to umbrella mincore.lib
for IoT apps.
这个问题还没有答案
我知道未解析的外部符号是什么意思 - 我特别询问为什么在构建为 ARM 时,我的项目缺少 DirectX 函数。当我为 Raspberry Pi 构建 DirectX 项目时,出现以下 link 错误。 为什么 CoCreateInstFromApp 仅针对 ARM 构建缺少?
CoCreateInstanceFromApp 上的 Microsoft 文档暗示它应该简单地存在于任何 Windows 可执行文件中 - 这实际上是我在构建同一项目的 x86 或 x64 版本时看到的。它应该存在,因为 DirectX 确实支持 ARM 架构 - 或者我错过了什么?
该项目包括 d3d11.lib
和 dxgi.lib
,我认为它会从正确的目录中获取 - 但没有得到关于这些库的特定错误。该项目是 Visual Studio 2017 Pro v15.8.7.
已编辑 link 错误:
DirectXTK_ARM.lib : error LNK2019: unresolved external symbol __imp_CoCreateInstanceFromApp referenced in function "long __cdecl CoCreateInstance ...
DirectXTK_ARM.lib : error LNK2019: unresolved external symbol __imp_PropVariantClear ....
更多信息,如果需要:
我已更改此 Desktop Duplication sample from Microsoft to do a screen-shot instead of duplication, and thus removed the window code and used DirectXTK 以保存文件。这在我的桌面和 Minnowboard (x64 Win10 IoT) 上效果很好。但是,如果我尝试为 Raspberry PI (ARM) 编译,它会因 link 错误而失败:
DirectXTK_ARM.lib(WICTextureLoader.obj) : error LNK2019: unresolved external symbol __imp_CoCreateInstanceFromApp referenced in function "long __cdecl CoCreateInstance(struct _GUID const &,struct IUnknown *,unsigned long,struct _GUID const &,void * *)" (?CoCreateInstance@@YAJABU_GUID@@PAUIUnknown@@K0PAPAX@Z)
DirectXTK_ARM.lib(WICTextureLoader.obj) : error LNK2019: unresolved external symbol __imp_PropVariantClear referenced in function "long __cdecl `anonymous namespace'::CreateTextureFromWIC(struct ID3D11Device *,struct ID3D11DeviceContext *,struct IWICBitmapFrameDecode *,unsigned int,enum D3D11_USAGE,unsigned int,unsigned int,unsigned int,unsigned int,struct ID3D11Resource * *,struct ID3D11ShaderResourceView * *)" (?CreateTextureFromWIC@?A0x2b71c33d@@YAJPAUID3D11Device@@PAUID3D11DeviceContext@@PAUIWICBitmapFrameDecode@@IW4D3D11_USAGE@@IIIIPAPAUID3D11Resource@@PAPAUID3D11ShaderResourceView@@@Z) 1
CoCreateInstance
和 PropVariantClear
是 ole32.lib
的一部分。
UWP apps should link with the umbrella
WindowsApp.lib
, but you can also link to umbrellamincore.lib
for IoT apps.