【发布时间】:2018-10-01 02:15:21
【问题描述】:
我正在构建一个需要 VLC 和 PJSIP 的 react-native 应用程序。该代码在 Android 上运行良好,但在 iOS 上,链接时出现重复符号冲突。它显示以下错误:
重复符号 _srtp_create 在: /vlc/MobileVLCKit-binary/MobileVLCKit.framework/MobileVLCKit(libvlc_srtp_la-srtp.o) /Library/Developer/Xcode/DerivedData/Bee-afimekrxplarzrfgyjgzoqwbrfqt/Build/Products/Debug-iphoneos/libRTCPjSip.a(srtp.o) 重复符号 _MD5_Init 在: /vlc/MobileVLCKit-binary/MobileVLCKit.framework/MobileVLCKit(md5.o) /Library/Developer/Xcode/DerivedData/Bee-afimekrxplarzrfgyjgzoqwbrfqt/Build/Products/Debug-iphoneos/libRTCPjSip.a(md5_dgst.o) 重复符号 _MD5_Final 在: /vlc/MobileVLCKit-binary/MobileVLCKit.framework/MobileVLCKit(md5.o) /Library/Developer/Xcode/DerivedData/Bee-afimekrxplarzrfgyjgzoqwbrfqt/Build/Products/Debug-iphoneos/libRTCPjSip.a(md5_dgst.o) 重复符号 _MD5_Update 在: /vlc/MobileVLCKit-binary/MobileVLCKit.framework/MobileVLCKit(md5.o) /Library/Developer/Xcode/DerivedData/Bee-afimekrxplarzrfgyjgzoqwbrfqt/Build/Products/Debug-iphoneos/libRTCPjSip.a(md5_dgst.o) ld:架构 arm64 的 4 个重复符号
我尝试在没有 SRTP 的情况下构建 PJSIP,但这也无济于事,因为 VLC 和 PJSIP 都需要 MD5。
感谢任何帮助。
【问题讨论】:
-
从您的 Mac 中删除派生数据并尝试再次运行。
-
我多次这样做。没用。
-
您是否在项目中额外添加了 /vlc/MobileVLCkit 框架?错误是库文件 libRTCPjsip.a 和 MobileVLCkit 框架中都存在 md5_dgst.o 库。只需删除 MobileVLCkit 框架一次即可。
-
删除框架构建它。但我需要项目中的两个库。有什么方法可以同时包含这两个静态库吗?
-
不,你不能,除非你重命名一些符号。但是,您可以动态链接 VLC 或 SIP 而不是静态链接以轻松解决该问题。
标签: ios xcode react-native react-native-ios