LLVM 配置文件错误:运行时和检测版本不匹配:预期为 4,但得到 5

问题描述 投票:0回答:1

在运行 iOS 项目的单元测试时,我们遇到了下面提到的错误。我们在XCode 13.4.1和14版本中尝试了不同的iOS版本,但结果没有改变。由于此错误,无法创建 Coverage.profdata 文件,并且我们无法获取覆盖率数据。有没有人遇到过这样的错误或者有人知道如何解决它?如果您能提供帮助,我们将非常高兴。

Test Suite 'All tests' passed at 2022-10-07 11:25:19.487.
     Executed 2110 tests, with 0 failures (0 unexpected) in 7.292 (10.705) seconds
LLVM Profile Error: Runtime and instrumentation version mismatch : expected 4, but get 5

无法将目录 /Users/*** /Build/Intermediates.noindex/CodeCoverage/ProfileData/7FFCA33C-01FF-46BE-923D-A1A0CCF11A16 中的原始配置文件合并到目标 /Users/*** /Build/Intermediates.noindex/CodeCoverage /ProfileData/7FFCA33C-01FF-46BE-923D-A1A0CCF11A16/Coverage.profdata:聚合工具“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-profdata”失败,退出代码为 1 :警告:/Users/*** /Build/Intermediates.noindex/CodeCoverage/ProfileData/7FFCA33C-01FF-46BE-923D-A1A0CCF11A16/B5268FD3-2A23-4CA3-BE5F-AEFA9869C8ED-14839.profraw:无法解压缩数据(zlib ) 错误:没有配置文件可以合并

ios swift unit-testing llvm code-coverage
1个回答
0
投票

此警告/错误的常见原因是 Clang 和 LLVM 之间的版本不匹配。

clang --version

llvm-config --version

使用 Homebrew 安装与您当前的 Clang 版本匹配的 LLVM 版本

brew install llvm@15

不要忘记更新您的环境变量:

llvm@15 仅是 keg,这意味着它没有符号链接到 /opt/homebrew,因为这是另一个版本的替代版本 公式。

如果您需要在 PATH 中首先包含 llvm@15,请运行:

echo '导出 PATH="/opt/homebrew/opt/llvm@15/bin:$PATH"' >> ~/.zshrc

为了让编译器找到 llvm@15,您可能需要设置:

导出 LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib"

导出 CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"

重新加载 zsh 配置,这样就可以了。

source ~/.zshrc
© www.soinside.com 2019 - 2024. All rights reserved.