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

M1芯片Sequoia系统下Homebrew安装的GCC无法编译代码求助

问题:Homebrew安装的GCC无法在macOS Sequoia上编译代码

环境信息

  • 芯片架构:
    % uname -m
    arm64
    
  • 系统版本:
    % sw_vers
    ProductName:        macOS
    ProductVersion:     15.3.1
    BuildVersion:       24D70
    
  • Command Line Tools版本:
    % pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
    package-id: com.apple.pkg.CLTools_Executables
    version: 16.2.0.0.1.1733547573
    volume: /
    location: /
    install-time: 1739567437
    
  • Apple clang(系统自带g++)版本:
    % /usr/bin/g++ --version
    Apple clang version 16.0.0 (clang-1600.0.26.6)
    Target: arm64-apple-darwin24.3.0
    Thread model: posix
    InstalledDir: /Library/Developer/CommandLineTools/usr/bin
    
  • Homebrew安装的GCC版本:
    % /opt/homebrew/bin/g++-14 --version
    g++-14 (Homebrew GCC 14.2.0_1) 14.2.0
    Copyright (C) 2024 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

问题现象

编译以下简单C++程序:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!" << endl;
    return 0;
}

使用Homebrew的g++-14编译时触发错误:

% /opt/homebrew/bin/g++-14 ~/Downloads/try.cpp 
ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/lib/libSystem.tbd' for architecture arm64
collect2: error: ld returned 1 exit status

但系统自带的/usr/bin/g++(Apple clang)可正常编译并运行程序。

解决方法

1. 指定使用Apple的链接器

编译时添加-fuse-ld=/usr/bin/ld参数,强制GCC使用系统自带的ld(支持新版tapi-tbd格式):

/opt/homebrew/bin/g++-14 -fuse-ld=/usr/bin/ld ~/Downloads/try.cpp

执行后可正常生成可执行文件,运行./a.out即可输出结果。

2. 重新安装/升级Homebrew GCC

更新Homebrew仓库后重装GCC,确保版本适配当前系统SDK:

brew update
brew reinstall gcc

3. 设置正确的SDK路径

通过环境变量指定系统SDK路径,让GCC调用对应版本的库文件:

export SDKROOT=$(xcrun --show-sdk-path)
/opt/homebrew/bin/g++-14 ~/Downloads/try.cpp

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:05:56