【发布时间】: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 库,我最终改为使用它,但仍然有兴趣学习。谢谢