在发布版本中获取MTOUCH:错误MT5213:重复符号

问题描述 投票:0回答:2

我们的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:本机链接错误:对符号的引用(尚未分配地址)_WebPInitYUV444Converters在/Users/vsts/agent/2.136.1/work/1/s/Client/projectName.Client.Forms/的'_CustomSetup'中架构armv7的iOS / obj / iPhone / Release / mtouch-cache / WebP.a(libwebpdecode_la-io_dec.o)[/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 dlls。我如何得到完整的错误?我可以通过这些吗?这是日志文件的一部分,非常感谢任何帮助/指针。

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)

xamarin xamarin.ios nuget webp
2个回答
0
投票

出现此错误的可能原因:

  • 两次包含相同的本机库。
  • 两个不同的本机库恰好定义相同的符号。
  • 本机库未正确构建,并且多次包含相同的符号。您可以使用终端中的以下命令集来确认这一点(根据您正在构建的架构,将i386替换为x86_64 / armv7 / armv7s / arm64): 有关更多信息,您可以访问链接error-messages

0
投票

对我有用的是在所有配置中添加以下内容到mtouch参数,特别是发布| 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

© www.soinside.com 2019 - 2024. All rights reserved.