未找到架构 armv7 颤振的符号

Posted

技术标签:

【中文标题】未找到架构 armv7 颤振的符号【英文标题】:symbol(s) not found for architecture armv7 flutter 【发布时间】:2021-06-28 12:01:28 【问题描述】:
 ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ld: warning: dylib (/Users/Shared/store/build/ios/Release-iphoneos/abseil/absl.framework/absl) was built for newer iOS version (11.0) than being linked (10.0)
    ld: warning: dylib (/Users/Shared/store/build/ios/Release-iphoneos/gRPC-C++/grpcpp.framework/grpcpp) was built for newer iOS version (11.0) than being linked (10.0)
    ld: warning: dylib (/Users/Shared/store/build/ios/Release-iphoneos/leveldb-library/leveldb.framework/leveldb) was built for newer iOS version (11.0) than being linked (10.0)
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description

Encountered error while building for device.

[✓] Flutter (Channel stable, 2.0.0, on Mac OS X 10.15.4 19E266 darwin-x64,语言环境 en-IN) • Flutter 2.0.0 版,位于 /Applications/flutter2.0_midhilaj • 框架修订 60bd88df91(4 周前),2021-03-03 09:13:17 -0800 • 引擎版本 40441def69 • Dart 版本 2.12.0

[!] android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.3) • Android SDK 位于 /Users/midhilajm/Library/Android/sdk • 平台 android-30,构建工具 30.0.3 • ANDROID_HOME = /Users/midhilajm/Library/Android/sdk • Java 二进制文件位于:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b3-6915495) !不接受某些 Android 许可证。要解决此问题,请运行:flutter doctor --android-licenses

[✓] Xcode - 为 iOS 和 macOS 开发 • Xcode 位于 /Applications/Xcode.app/Contents/Developer • Xcode 12.4,内部版本 12D4e • CocoaPods 版本 1.10.1

[✓] Chrome - 为网络开发 • Chrome 位于 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio(4.1 版) • Android Studio 位于 /Applications/Android Studio.app/Contents • Flutter 插件可以从以下位置安装: ??? https://plugins.jetbrains.com/plugin/9212-flutter • Dart 插件可以从以下位置安装: ??? https://plugins.jetbrains.com/plugin/6351-dart • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio(4.1 版) • Android Studio 位于 /Applications/Android Studio 2.app/Contents • Flutter 插件可以从以下位置安装: ??? https://plugins.jetbrains.com/plugin/9212-flutter • Dart 插件可以从以下位置安装: ??? https://plugins.jetbrains.com/plugin/6351-dart • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b3-6915495)

[✓] VS 代码(版本 1.54.3) • /Applications/Visual Studio Code.app/Contents 中的 VS 代码 • Flutter 扩展可以从以下位置安装: ??? https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] 连接的设备(1 个可用) • Chrome(网络) • chrome • web-javascript • Google Chrome 89.0.4389.90 !错误:未连接 Midhilaj 的 iPhone。当 Midhilaj 的 iPhone 连接时,Xcode 将继续运行。 (代码-13)

!医生发现了 1 个类别的问题。

【问题讨论】:

【参考方案1】:

运行 flutter upgrade 以升级到最新版本的 Flutter。之后,flutter clean 并再次构建。这应该可以解决您的问题。

【讨论】:

你能解释一下你的答案吗,为什么这能解决问题? @mfleshman 一般来说,升级到最新版本的框架是你应该尝试的第一件事,以防出现任何问题。根据我的经验,这解决了一半以上的问题。 为什么这种策略有效的解释之一是假设意外错误是由外部因素引起的。例如,Apple 可能会更改 iOS 中的某些内容,以使旧的 Flutter 版本无法应对这些更改。【参考方案2】:

解决我这个问题的唯一方法是通过删除 pubspec.lock 文件并重新运行 flutter run 命令来清除 pub 缓存。

这主要是由于缓存的插件文件中的错误

【讨论】:

【参考方案3】:

运行以下命令并解决您的问题

    flutter clean rm ios/Podfile ios/Podfile.lock pubspec.lock rm -rf ios/Pods ios/Runner.xcworkspace flutter run

【讨论】:

以上是关于未找到架构 armv7 颤振的符号的主要内容,如果未能解决你的问题,请参考以下文章

架构 armv7s 的未定义符号:iPhoneExtAudioFileConvertTest

静态库链接错误。架构 armv7s 的未定义符号

XCode 5 - 架构 armv7 的未定义符号:

架构 armv7 的未定义符号

架构armv7的未定义符号?

架构armv7的未定义符号?这个错误是啥意思?