【问题标题】:ld: Invalid value (Producer: 'LLVM13.0.0-rust-1.57.0-nightly' Reader: 'LLVM APPLE_1_1300.0.29.3_0') for architecture arm64ld:架构 arm64 的无效值(生产者:'LLVM13.0.0-rust-1.57.0-nightly' 读者:'LLVM APPLE_1_1300.0.29.3_0')
【发布时间】:2021-10-12 05:59:57
【问题描述】:

尝试安装和使用zkgroup。 构建,运行特定的 iOS 设备工作正常。

但通用归档不起作用。

错误文本: ld: Invalid value (Producer: 'LLVM13.0.0-rust-1.57.0-nightly' Reader: 'LLVM APPLE_1_1300.0.29.3_0') for architecture arm64

Rust 工具链:

installed toolchains
--------------------

stable-x86_64-apple-darwin
nightly-2021-06-08-x86_64-apple-darwin
nightly-2021-09-16-x86_64-apple-darwin (default)
nightly-2021-09-19-x86_64-apple-darwin

installed targets for active toolchain
--------------------------------------

aarch64-apple-ios
aarch64-apple-ios-sim
x86_64-apple-darwin
x86_64-apple-ios

active toolchain
----------------

nightly-2021-09-16-x86_64-apple-darwin (default)
rustc 1.57.0-nightly (2c7bc5e33 2021-09-15)

有什么见解吗?

【问题讨论】:

  • 你能解决这个问题吗?我遇到了与ld: Invalid value (Producer: 'LLVM13.0.0-rust-1.57.0-stable' Reader: 'LLVM APPLE_1_1300.0.29.30_0') for architecture arm64类似的问题
  • 我在尝试归档链接到用 Rust 编写的静态库的 iOS 应用程序时也遇到了这个问题。
  • 这感觉与question and answer pair 中讨论的原因相同。在这种情况下,解决方案似乎是让货物使用 Apple Developer LLVM 而不是 rust 提供的 LLVM,如 here 所述。我将深入学习如何指定 rust 编译器使用的 LLVM,看看我是否可以将此评论扩展为答案。

标签: swift rust clang cocoapods llvm


【解决方案1】:

这个问题的解决方案看起来很简单:将 Xcode 构建设置“启用位码”设置为“否”,如下图所示: (我首先发现命令行归档构建没有这个问题,然后将它们的日志与 in-Xcode 构建日志进行比较来解决这个问题。in-XCode 构建正在执行 bitcode-verify 操作,这提醒了我Rust cargo-lipo README 谈到关闭此设置以避免这种 LLVM 不兼容。)

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 2012-01-08
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    相关资源
    最近更新 更多