找不到用于 -lDoubleConversion 的库

IT技术 ios reactjs react-native react-native-ios
2021-04-01 12:30:37

我试图在 XCode 上构建,但ld: library not found for -lDoubleConversion发生错误。我可以建立react-native run-ios. 那行得通,但 XCode 无法构建...

ld:警告:找不到选项“-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/DoubleConversion”的目录 ld:警告:找不到选项“-L/”的目录用户/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Folly' ld:警告:找不到选项'-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx 的目录/Build/Products/Debug-iphonesimulator/GTMOAuth2' ld: 警告:找不到选项 '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMSessionFetcher' ld 的目录:警告:找不到选项“-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Google-Maps-iOS-Utils”的目录:警告:找不到选项“-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac”的目录:警告:找不到选项“-L/Users/xxxxx/”的目录Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Protobuf' ld:警告:找不到选项 '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products 的目录/Debug-iphonesimulator/React' ld:警告:找不到选项'-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/glog' ld:警告:目录不是找到选项 '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/leveldb-library' ld:警告:找不到选项目录-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/nanopb' ld:警告:找不到选项'-L/Users/xxxxx/Library/Developer/Xcode/的目录DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-google-maps' ld: 警告:找不到选项 '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products 的目录/Debug-iphonesimulator/react-native-maps' ld: 警告:找不到选项 '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld 的目录:找不到 -lDoubleConversion clang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)找不到选项“-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-google-maps”的目录ld:警告:找不到选项的目录“- L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps'ld:警告:找不到选项'-L/Users/xxxxx/Library/Developer的目录/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld:找不到 -lDoubleConversion clang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)找不到选项“-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-google-maps”的目录ld:警告:找不到选项的目录“- L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps'ld:警告:找不到选项'-L/Users/xxxxx/Library/Developer的目录/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld:找不到 -lDoubleConversion clang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps' ld:警告:找不到选项'-L/Users/xxxxx/Library/的目录Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld:未找到 -lDoubleConversion clang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps' ld:警告:找不到选项'-L/Users/xxxxx/Library/的目录Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld:未找到 -lDoubleConversion clang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

6个回答

对我来说,我解决了打开MyAppName.xcworkspace而不是MyAppName.xcodeproj,然后构建。

对于像我这样的 React Native 新手,你可以找到. xcworkspace at [project_name] /ios/.xcworkspace — 在 Xcode 中打开它而不是 *.xcodeproj(我花了半个小时对 xcworkspace 与 xcodeproj 感到困惑)
2021-05-23 12:30:37
对我来说也是......但为什么呢?
2021-05-30 12:30:37
哇,非常感谢它解决了我的问题。但是,如果您对此修复有所了解会更好。
2021-06-12 12:30:37
至于为什么可能是因为您使用的是 cocoapods 并且 pods 只包含在工作区中,所以在从 xcodeproj 构建时不要构建。
2021-06-16 12:30:37
这很奇怪......我在 xcode 中保存了 ios 项目并且它总是工作正常......但现在我不得不删除这个项目并再次添加它并且它开始工作......无论如何谢谢
2021-06-17 12:30:37

升级到 RN 0.59 后,我不久前遇到了这个问题。

对我有用的解决方案是删除ios/build文件夹,然后执行以下操作:

cd ios

pod install

当我这样做时,我看到了一个关于 的错误Folly,人们建议这样做:

pod deintegrate

pod install

我这样做了,但它仍然会抛出关于 的错误Folly,所以我删除了,Podfile.lock因为 pods 持有与 RN 0.59 不兼容的旧版本 Folly。

注意:我发现有人说不建议删除整个锁定文件。相反,您应该只删除锁定文件中的相关行,即与 Folly 相关的行。我已经删除了锁定文件,但一切正常。

我跑了pod update它更新了一堆东西并成功完成。

下次我运行时pod install,它生成了一个很好的绿色成功安装列表。

然后我又做了react-native run-ios一次,它在一段时间内第一次起作用,除了它产生了死亡的红屏。

所以我从 iOS 模拟器设备上删除了我的应用程序,然后运行:

rm -rf node_modules

npm install

killall -9 node

killall -9 node只是为了杀死Metro Bundler。这是我最喜欢的清扫命令。如果你在你的机器上运行 12 个 node.js API,也许可以做一些类似的事情sudo lsof -i :8081,找到 Metro Bundler 的进程 ID,然后通过 PID 杀死它们。例如,如果您看到 Metro Bundler 以 PID 27322 运行,则执行kill -9 27322.

然后我在一个独立的终端中运行它:

npm start -- --reset-cache

回到 VS Code 集成终端:

react-native run-ios

有效 !!!!!!!!

然后我跑了:

react-native run-android

有效但在模拟器设备上卡在 0%,所以我从模拟器中删除了 APK 并react-native run-android再次运行

有效 !!!!!!!!

在我添加另一个包后它停止工作并做了 npm i
2021-05-28 12:30:37
爱的热情
2021-06-09 12:30:37

我在终端上而不是在 XCode 上构建项目时发生了这种情况,并且在 CI 和我的笔记本电脑上都发生了。

发生这种情况是因为您正在构建项目app.xcodeproj而不是工作区app.xcworkspace

因此,您必须将调用中的参数从-project app.xcodeproj更改为-workspace app.xcworkspace请注意,参数名称也会更改,而不仅仅是值。

现在,一个完整的调用示例。

从:

xcodebuild -sdk iphoneos -configuration yourconfig -project app.xcodeproj -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic

到:

xcodebuild -sdk iphoneos -configuration yourconfig -workspace app.xcworkspace -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic

XCode 找不到lDoubleConversion 库,需要将该库添加到cocoa pods 文件中。

您可以按照以下步骤轻松完成此操作

1.将库文件添加到您的podfile

pod 'DoubleConversion', :podspec => './../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'

2.删除Podfile.lock

3.运行pod安装

4.在xcode Linked frameworks and libraries中添加DoubleConversion.a

5.清理项目并重新构建。

那应该有效。

我在哪里可以找到 DoubleConversion.a 来添加它?
2021-06-10 12:30:37
不确定 DoubleConversion.a,但 DoubleConversion 库位于 node_modules/react-native/thirdparty
2021-06-20 12:30:37

我只是将部署目标从 10 更新到 11.4 并且它起作用了