React Native duplicate symbols for architecture x86_64

这篇博客讲述了在构建iOS应用时遇到的重复符号错误,具体表现为`ld: duplicate symbols for architecture x86_64`。问题源于react-native-viewpager组件与@react-native-community/viewpager之间的冲突。解决方案是移除这两个组件中的一个,作者选择移除@react-native-community/viewpager,问题得到解决。参考链接提供了更多相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息

/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-viewpager/libreact-native-viewpager.a(ReactViewPagerManager.o)
ld: 39 duplicate symbols for architecture x86_64

详细报错信息

duplicate symbol ‘OBJC_IVARKaTeX parse error: Expected group after '_' at position 464: …bol '_OBJC_IVAR_̲_ReactNativePageView._dismissKeyboard’ in:
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-pager-view/libreact-native-pager-view.a(ReactNativePageView.o)
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-viewpager/libreact-native-viewpager.a(ReactNativePageView.o)
duplicate symbol ‘OBJC_IVARKaTeX parse error: Expected group after '_' at position 467: …bol '_OBJC_IVAR_̲_ReactNativePageView._scrollEnabled’ in:
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-pager-view/libreact-native-pager-view.a(ReactNativePageView.o)
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-viewpager/libreact-native-viewpager.a(ReactNativePageView.o)
duplicate symbol ‘OBJC_IVARKaTeX parse error: Expected group after '_' at position 478: …ol '_OBJC_CLASS_̲_ReactViewPagerManager’ in:
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-pager-view/libreact-native-pager-view.a(ReactViewPagerManager.o)
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-viewpager/libreact-native-viewpager.a(ReactViewPagerManager.o)
duplicate symbol ‘OBJC_METACLASS$_ReactViewPagerManager’ in:
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-pager-view/libreact-native-pager-view.a(ReactViewPagerManager.o)
/Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/react-native-viewpager/libreact-native-viewpager.a(ReactViewPagerManager.o)
ld: 39 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

The following build commands failed:
Ld /Users/itkey/Library/Developer/Xcode/DerivedData/ywh-ggctvlciyanthueovxlwtkygqwha/Build/Products/Debug-iphonesimulator/ywh.app/ywh normal (in target ‘ywh’ from project ‘ywh’)

原因分析

可能是react-native-viewpager这个组件与@react-native-community/viewpager组件之间发生了冲突导致的。

因为我在使用的Ant Design中依赖了@react-native-community/viewpager,而react-native-viewpager又是另一个组件的依赖,放一起就冲突了。

解决办法

react-native-viewpager@react-native-community/viewpager去掉其中之一。

我去掉了@react-native-community/viewpager,问题成功解决。

参考

https://issueexplorer.com/issue/callstack/react-native-pager-view/443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值