如何在 C++ 运行时组件内的 Windows Phone 8.1 XAML 应用程序中使用 C++ dll

2024-04-17

我想在我的 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(使用前将#替换为@)

如何在 C++ 运行时组件内的 Windows Phone 8.1 XAML 应用程序中使用 C++ dll 的相关文章

随机推荐