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

如何移除Meson构建中链接器命令的/MACHINE:x64选项?

解决Meson交叉编译Windows x86时链接器自动添加/MACHINE:x64的问题

核心原因是Meson未正确识别x86交叉编译目标,导致默认生成x64链接器参数,以下是具体解决步骤:

  • 确保交叉配置文件被正确加载
    初始化构建目录时必须显式指定交叉配置文件,否则Meson会使用本地默认x64工具链:

    meson setup build --cross-file your_cross_config.ini
    
  • 修正交叉配置文件,让Meson自动生成正确参数
    无需手动添加/MACHINE:x86,Meson会根据host_machine配置自动匹配对应参数。修改你的交叉配置文件:

    [host_machine]
    system = 'windows'
    cpu_family = 'x86'
    cpu = 'x86'
    endian = 'little'
    
    [binaries]
    # 若本地有多个工具链版本,需填写x86版MSVC工具的完整路径
    c = 'cl'
    cpp = 'cl'
    link = 'link'
    ar = 'lib'
    
    [built-in options]
    # 移除手动添加的/MACHINE参数,按需指定C运行时版本
    b_vscrt = 'md'
    

    调整后Meson会根据x86目标自动设置/MACHINE:x86,替换默认的x64参数。

  • 清理旧构建缓存
    若之前用x64配置初始化过构建目录,需删除整个build目录后重新执行初始化命令,避免缓存残留干扰新配置。

  • 验证结果
    重新生成build.ninja后,检查cpp_LINKER规则,链接器命令中的/MACHINE参数应已变为x86。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:47:03