You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置lld链接时跳过架构不兼容库仅输出警告而非报错

LLD 架构不兼容库跳过配置方法
  • LLD 针对苹果Mach-O平台的ld64.lld链接器提供了对应参数,可实现和macOS自带ld一致的、自动跳过架构不兼容静态库、仅输出警告不终止构建的效果。
  • 所需参数为-no_arch_errors_fatal:
    • 直接调用ld64.lld时,将该参数追加到链接命令的参数列表中即可
    • 通过clang/clang++间接调用链接器(cmake、CocoaPods等绝大多数构建场景默认使用该调用方式)时,需要通过clang的参数透传语法传入,写法为-Wl,-no_arch_errors_fatal
  • 版本要求:该参数从LLVM 15版本的lld开始正式提供,若使用低于15的旧版本lld,无对应配置项可调整该行为,需升级lld版本,或在构建流程中提前过滤掉与当前目标架构不匹配的静态库路径,避免将错误架构的库文件传入链接器。
  • 常见场景配置方法:
    • CocoaPods项目:可在Podfile的post_install钩子中,给对应target的OTHER_LDFLAGS配置项追加-Wl,-no_arch_errors_fatal,无需修改第三方依赖的原有构建脚本
    • CMake项目:可通过target_link_options命令给构建目标追加参数,示例写法:
      target_link_options(your_build_target PRIVATE "-Wl,-no_arch_errors_fatal")
      

配置生效后,构建arm64架构目标时传入的x86_64版本静态库会被自动忽略,仅输出架构不匹配的警告,不会中断构建流程,行为与macOS系统自带ld完全对齐。

内容的提问来源于stack exchange,提问作者isudfv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:48:23