c – Xamarin iOS Native连接在模拟器上工作,在设备上重复符号

前端之家收集整理的这篇文章主要介绍了c – Xamarin iOS Native连接在模拟器上工作,在设备上重复符号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试链接Xamarin的复杂的本机项目.这是Obj-C UI项目,它依赖于C库中的Native Obc-C包装(这是嵌入式项目):

我在Xcode中有本地源代码和测试项目,一切顺利.

然后我制作所有依赖项的胖库,将它们添加到xamarin绑定项目中.

在主要项目中,我必须为模拟器和设备设置gcc选项:

-vvvv -cxx --registrar:static -gcc_flags "-L${ProjectDir}/../RMSDKWrapper -dead_strip -lstdc++ -lstdc++.6.0.9 -lpthread -lsqlite3 -lxml2 -ObjC -ladept-iOS -lxml-iOS -lz -lcurl -lssl -lcrypto -ldp-iOS -lePub3-iOS -L/usr/lib -I/usr/include/libxml2"

一切都适用于模拟器,但是当我尝试为Device编译时,链接器不能链接lib,因为重复的符号.我使用’nm’检查了所有的libs,所有的对象都是模拟器和设备的.
我看到只有复制的对象是嵌入式包装器(rmsdk_wrapper2.xcodeproj)中的Obj-C类. nm发现包装器中的对象和从主机项目(TestRMSD.xcodeproj)的lib.但是对于模拟器来说,它解决了很好,对于设备来说都是很好的

UPD
XS版本:
https://gist.github.com/ad1Dima/eb1cc390930e191a5454260da2410c91

建立日志:
https://gist.github.com/ad1Dima/8ea8c4a271ef63efb310252234b32ae5

我需要知道如何解决这个问题.

解决方法

这个错误的可能原因:

>同一本地图书馆包含两次.
>两个不同的本机库碰巧定义相同的符号.
>本机库未正确构建,并且不止一次包含相同的符号.

您可以在这里找到链接错误的故障排除步骤:https://developer.xamarin.com/guides/ios/troubleshooting/mtouch-errors/#MT5212

原文链接:https://www.f2er.com/c/113804.html

猜你在找的C&C++相关文章