6

我需要将 WebRTC c++ 库包装到 WinRT 组件中,并从我的 UWP/C# 应用程序中使用它。有一篇很好的文章how to use native c++ in uwp描述了我遵循的所有集成步骤。简要地:

  • 我已经创建了 Dll/C++DLL1库并链接了我的静态库libwebrtc_full.a。拨打了所有必要的电话
  • 然后,我在我的 WinRT/C++ 项目中引用了 DLLWindowsRuntimeComponent1并成功创建了公共 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按照评论中的建议运行,但我没有看到缺少什么依赖项。下面是带有堆栈跟踪的屏幕截图:

在此处输入图像描述

4

0 回答 0