我想在我的 C# Windows Phone 8.1 XAML Visual Studio 项目中使用 C++ DLL(为 Arm、x86 编译)。
我创建了一个 C++ 运行时组件来与我的 C++ 代码交互。此代码需要预编译的 dll。我将 lib 文件添加到我的项目设置中。编译运行良好。
如果我使用 Windows Phone 8.1 模拟器启动我的应用程序,我会得到:
The specified module could not be found. (Exception from HRESULT: 0x8007007E)
我的 Visual Studio 项目结构:
- c#
- Windows Phone 项目
- 视窗项目
- 共享XAML
- Managed C++
- 运行时组件 Windows Phone
- 运行时组件窗口
- 共享 C++ 代码(此处使用 dll)
我尝试过的事情:
- 我将 dll 拖放到我的 C++ 项目中,并将内容属性更改为 true。
- 我将 dll 拖放到我的 C# 项目中,并启用了将 dll 复制到输出目录的选项
那么,如何在 C++ 运行时组件项目中使用 .lib/.dll 库?
更多细节:
- 我想使用 Angle(它允许 OpenGL 代码通过 Microsoft fork 在 Windows/Windows Phone 上作为 DirectX 执行:https://github.com/MSOpenTech/angle/tree/future-dev https://github.com/MSOpenTech/angle/tree/future-dev)
- 为Windows Phone 8.1提供了基于libEGL.lib/dll和libGLES.lib/dll的纯C++模板(针对arm、win32手动编译)
- 但我想使用带有 C++ 运行时组件的 C# 项目,以便能够使用第三方库,例如 Windows Phone 的 admob 广告框架
- 我发现cocos2d正在使用Angle,但我还没有弄清楚他们是如何做到的(https://github.com/cocos2d/cocos2d-x/tree/v3/templates/cpp-template-default/proj.wp8-xaml https://github.com/cocos2d/cocos2d-x/tree/v3/templates/cpp-template-default/proj.wp8-xaml)
我设法让它工作。
您必须将 dll 导入到 C# 项目中。重要的是 dll 位于 C# 项目的根目录中,并且:copy to output directory
is not活性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)