我们的Xamarin.iOS版本构建失败,出现MTOUCH:错误MT5213:符号重复。这个错误是最近才开始发生的,很可能是由于某个地方的nuget包引起的,但有趣的是,这些API看起来都不是很熟悉。我已尝试调查来源,但找不到将它们包含在何处。
我已经尝试过了。 1.将Xamarin表单从最新版本降级到最新版本2.5xxxx 2.删除自7月上次更新以来添加的所有nuget程序包。 3.添加--registrar:static 4.添加-gcc_flags -dead_strip可以减少错误,但仍会导致此错误 _ __ 2018-08-24T22:01:20.5791820Z clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)[/Users/vsts/agent/2.136.1/work/1/s /Client/projectName.Client.Forms/iOS/projectName.Forms.iOS.csproj] 2018-08-24T22:01:20.5920220Z错误MT5209:本机链接错误:从/Users/vsts/agent/2.136.1/work/1/在'_CustomSetup'中的符号(未分配地址)_WebPInitYUV444Converters的引用s / Client / projectName.Client.Forms / iOS / obj / iPhone / Release / mtouch-cache / WebP.a(libwebpdecode_la-io_dec.o)用于架构armv7 [/Users/vsts/agent/2.136.1/work/1 /s/Client/projectName.Client.Forms/iOS/projectName.Forms.iOS.csproj] 2018-08-24T22:01:20.6050340Z MTOUCH:错误MT5201:本机链接失败。请查看构建日志和提供给gcc的用户标志:-dead_strip [/Users/vsts/agent/2.136.1/work/1/s/Client/projectName.Client.Forms/iOS/projectName.Forms.iOS.csproj ] 2018-08-24T22:01:20.6130420Z MTOUCH:错误MT5202:本机链接失败。请查看构建日志。 [/Users/vsts/agent/2.136.1/work/1/s/Client/projectName.Client.Forms/iOS/projectName.Forms.iOS.csproj] 2018-08-24T22:01:20.6148240Z 2018-08-24T22:01:20.6180880Z 60警告 2018-08-24T22:01:20.6215590Z 4个错误
各种--linkskip选项可疑nuget dll。 如何获得完整的错误?我可以绕过这些吗?这是日志文件的一部分,非常感谢任何帮助/指针。
2018-08-29T07:57:46.1674730Z重复符号_WebPMultRows in: 2018-08-29T07:57:46.1761750Z /Users/vsts/agent/2.138.6/work/1/s/Client/projectName.Client.Forms/iOS/obj/iPhone/Staging/mtouch-cache/WebP.a (libwebpdspdecode_la-alpha_processing.o) 2018-08-29T07:57:46.1944120Z /Users/vsts/agent/2.138.6/work/1/s/Client/projectName.Client.Forms/iOS/obj/iPhone/Staging/mtouch-cache/liblibwebp.a (alpha_processing.o) 2018-08-29T07:57:46.2117500Z重复符号_WebPMultARGBRows in: 2018-08-29T07:57:46.2265350Z /Users/vsts/agent/2.138.6/work/1/s/Client/projectName.Client.Forms/iOS/obj/iPhone/Staging/mtouch-cache/WebP.a (libwebpdspdecode_la-alpha_processing.o)
答案 0 :(得分:0)
此错误的可能原因:
本机库未正确构建,并且包含相同的符号 不止一次。您可以通过使用以下一组确认 来自终端的命令(用x86_64 / armv7 / armv7s / arm64替换i386 根据您要构建的架构而定):
有关更多信息,您可以访问链接error-messages
答案 1 :(得分:0)
对我有用的是在所有配置中的mtouch参数中添加以下内容,特别是对于release | iphone(模拟器之前已在工作)
-registrar:static -gcc_flags“ -framework libSkipSharp -dead_strip”
此链接非常有用,其中包含很多尝试和错误:https://docs.microsoft.com/en-us/xamarin/ios/troubleshooting/mtouch-errors#mt5xxx-gcc-and-toolchain-error-messages