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

M1 Mac Sublime用GCC编译C/C++出现dylib版本不匹配警告如何修复

M1芯片macOS设备GCC编译dylib版本不匹配警告修复方案

该警告产生的原因是通过Homebrew安装的g++-11依赖的libstdc++.dylib库是基于macOS 11.4版本编译生成的,而你当前编译代码时默认的链接目标版本为11.0,二者版本不匹配触发了警告。

修复方案

  • 单次编译临时生效
    编译时额外添加-mmacosx-version-min=11.4参数即可,示例命令:
    g++-11 your_code.cpp -o output -mmacosx-version-min=11.4
    
  • Sublime编辑器永久生效
    打开Sublime中C/C++对应的.sublime-build编译配置文件,修改编译命令字段,添加上述参数即可,修改后示例配置:
    {
      "cmd": ["g++-11", "${file}", "-o", "${file_path}/${file_base_name}", "-mmacosx-version-min=11.4"],
      "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
      "working_dir": "${file_path}",
      "selector": "source.c, source.c++"
    }
    
    保存配置后重启Sublime即可,后续所有通过Sublime执行的C/C++编译都不会触发该警告。
  • 全局环境永久生效
    如果你需要所有场景下的g++-11编译都默认适配该版本,可在shell配置文件(zsh对应~/.zshrc,bash对应~/.bash_profile)中添加如下两行配置:
    export MACOSX_DEPLOYMENT_TARGET=11.4
    export CXXFLAGS="$CXXFLAGS -mmacosx-version-min=11.4"
    
    配置完成后执行source ~/.zshrc(根据你使用的shell选择对应配置文件路径)使配置即时生效。

注意:如果后续你升级了Homebrew安装的GCC版本,警告中提示的目标macOS版本号发生变化,将上述配置中的11.4替换为警告中显示的新版本号即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:06:02