【发布时间】:2016-08-30 07:37:49
【问题描述】:
我有一个面向桌面和移动平台的 UWP/Windows-10 的 C# 应用程序。 C# 应用程序调用用 C++ 编写的本机组件。我的本机 C++ 代码具有 Visual C++ 组件扩展 (C++/CX)。然后将本机代码打包为 .dll 并与应用程序捆绑在一起。
该应用程序在桌面上运行良好,即当我在 x86 或 x64、Local Machine 中运行它时,但遇到在移动设备(即 x86 Mobile Emulator 或 ARM 设备(诺基亚 950)
找不到指定的模块。 (HRESULT 的例外情况: 0x8007007E)":null
基本上,我无法在 Mobile 模式下加载我的原生库。
我已经读过这个MSDN page。我的本机 C++ 代码没有使用任何不受支持的 api。
我尝试了 /"DWINAPI_FAMILY=WINAPI_FAMILY_APP" 和 /D"WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP",但都没有帮助。
在为移动设备构建原生 .dll 时,是否需要使用一组不同的工具链?我的桌面和移动本机 .dll 使用相同的链接器设置/标志。
任何帮助将不胜感激
【问题讨论】:
标签: c++ visual-studio-2015 windows-10-universal windows-10-mobile c++-cx