【问题标题】:Binding Native C library in Xamarin project在 Xamarin 项目中绑定本机 C 库
【发布时间】:2018-11-29 13:17:35
【问题描述】:

我目前遇到绑定 c 库的问题。我正在遵循此链接的介绍,以在 Xamarin 项目中绑定 C 库:https://www.youtube.com/watch?v=ZUoPLcmnf1o(这是一个关于绑定 c/c++ 库的 Xamarin 大学教程,除了由环境差异引起的那些之外,我确实做了同样的事情)。但是,我被困在最后一步:在 Xamarin 项目中使用 c 库中的函数,它总是显示“本机链接失败,未定义符号 *”。我已经尝试解决了大约 2 天,但没有进一步解决,我可以请求您的帮助吗?非常感谢您。

环境:iOS:macOS High Sierra,xcode:10.1,SDK:12.1,IDE:Visual Studio for Mac

有没有人学过同样的教程并且知道怎么做?我完全坚持这一点。欢迎提出任何建议。

【问题讨论】:

  • 你能粘贴整个构建日志吗?
  • 我建议仔细阅读此文档:docs.microsoft.com/en-us/xamarin/ios/platform/…。确保在中设置链接器标志
  • @pixel - 无论调用平台如何,从 C# 调用 C 库都是一样的,IOW 你必须使用 P/Invoke 机制:docs.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke
  • 我可能不得不收回我之前说的话。我看不到将 C 静态库添加到 C# UWP 应用程序的方法。您可能必须使用 C++ UWP 项目来使用静态 C 库,但这不适用于 Xamarin Forms。
  • @chygo 你能弄清楚这个吗?当我从 3rd 方客户端获得 C 库以在 Xamarin.forms UWP 中使用时,我开始寻找,但后来发现他们也有一个 .Net dll 库,我最终改为使用它,但仍然有兴趣学习。谢谢

标签: c xamarin


【解决方案1】:

这是一个overview of the approach,它也参考了这个分步指南,将提供​​如何prepare the binding for c/cpp 的想法。这也是一个带有quick demo的视频。

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2019-05-18
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多