将iOS静态库绑定到Xamarin.iOS并使用dll

 书友74562696 发布于 2023-02-08 18:32

我能够为我的Objective-C静态库成功创建dll文件.但是当我尝试从Xamarin.iOS应用程序和编译中引用该dll时,它给了我很多错误,比如......

错误MT5210:本机链接失败,未定义符号:_AudioFileClose.请验证是否已引用所有必需的框架并且本机库已正确链接.(MT5210)

错误MT5210:本机链接失败,未定义符号:std :: ios_base :: Init :: Init().请验证是否已引用所有必需的框架并且本机库已正确链接.(MT5210)

错误MT5202:本机链接失败.请查看构建日志.(MT5202)


在此之后,我尝试使用Addtional mtouch Arguments链接我的.a库.添加这些参数后,我收到了新的错误.

无法解析命令行参数:无法捆绑未注册的选项'-o'.

有人可以帮我解决这个问题.

1 个回答
  • 正如Stephane所提到的,LinkWithAttribute上有一个IsCxx属性,您可以设置该属性来指定.a库是一个c ++库.那将解决std::ios_base::Init::Init()错误.

    要解决该undefined symbol: _AudioFileClose错误,您可以尝试将CoreAudio或AudioToolbox框架添加到要链接的框架列表:

    [assembly: LinkWith (..., IsCxx = true, Frameworks = "CoreAudio AudioToolbox")]
    

    希望即使这不起作用,它也会让你朝着正确的方向前进.

    2023-02-08 18:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有