c# - 无法将 WinRT/C++ 组件加载到我的 UWP/C# 应用程序
问题描述
我需要将 WebRTC c++ 库包装到 WinRT 组件中,并从我的 UWP/C# 应用程序中使用它。有一篇很好的文章how to use native c++ in uwp描述了我遵循的所有集成步骤。简要地:
- 我已经创建了 Dll/C++
DLL1
库并链接了我的静态库libwebrtc_full.a
。拨打了所有必要的电话 - 然后,我在我的 WinRT/C++ 项目中引用了 DLL
WindowsRuntimeComponent1
并成功创建了公共 ref 类MyClass
,它从DLL1
- 我的 UWP 应用程序可以正确
App1
查看MyClass
,并且它的公共方法App1
引用了 WindowsRuntimeComponent。
在运行应用程序时,一旦我尝试使用其中一个实现的类,就会出现运行时异常WindowsRuntimeComponent1
The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
我创建并上传了一个示例项目以将我的问题重现到GDrive我在示例项目中也包含了我的静态libwebrtc.a
,以防它是问题的根本原因。
我已经经历了关于 SO 的类似问题,与我的问题最相似的是这个问题。不同之处在于我正在引用该项目并且仍然得到相同的异常。
编辑1:
这是MyClass
这样的:
namespace WindowsRuntimeComponent1
{
public ref class MyClass sealed
{
public:
MyClass(int sampleRate);
virtual ~MyClass();
void ProcessFrame(const Platform::Array<short>^ mic, const Platform::Array<short>^ speaker, const Platform::Array<short>^ output);
private:
void* p;
};
}
EDIT2:
我gflags App1.exe +sls
按照评论中的建议运行,但我没有看到缺少什么依赖项。下面是带有堆栈跟踪的屏幕截图:
解决方案
推荐阅读
- c# - 无法通过 Smartsheet SDK C# 为 SmartsheetClient 加载文件
- jhipster - 在 Mongobee ChangeSet 中使用属性
- ansible - 即使使用正确的语法,Ansible 任务也会失败
- azure - Azure AppGateway 路径路由到多个应用服务 webapps?
- azure - 在逻辑应用 Azure 中使用“创建组容器”时出现“InvalidContainerGroupUpdate”
- html - 如何将 .webm 文件设置为我网站的背景?
- arrays - 如何在数组中显示/获取一些具有条件的数据?
- excel - 用户窗体框架中的滚动条高度不会立即更新。我需要点击它来更新它
- c# - 如何使用两个日期时间选择器和 Winforms 中的一个按钮按日期过滤 RDLC 报告
- java - 如何修复“无法应用 ContextCompat 中的 startActivity()?”