记Macbook pro M2下gcc安装与编译

文章讲述了在M2芯片的Mac上遇到Homebrew和Anaconda为x86架构导致的C++编译问题。解决方案包括安装ARM版Homebrew,使用特定命令安装gcc@12,并设置环境变量以让setuptools使用gcc进行C扩展的编译,从而避免使用默认的clang。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

换了m2的mac后一直没注意本地homebrew和anaconda都是x86架构的,所以导致这两周在处理c++编译的时候出现了很多匪夷所思的问题,记录一下解决方案📝
在终端输入以下命令是告诉你的电脑的架构是什么,我的电脑输出就是arm64

arch

如果是arm,则需要保证本地的homebrew和miniconda是arm版本的;
ARM 版 Homebrew 是必须安装在 /opt/homebrew 下的,具体做法参考链接:https://sspai.com/post/63935,里面给出了很具体的说明;

homebrew的安装我是参考了知乎里苹果电脑常规安装脚本,把下面命令在终端运行即可:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装gcc

brew install gcc@12

然后稍等,只要brew安装过程中命令行没出现什么error的红字就应该没问题,我的安装路径是:/opt/homebrew/Cellar/gcc/12.2.0
进入这个目录后,你可以看到有很多文件夹,像bin、include,我检验自己是不是下到arm架构的gcc的方法就是看有没有aarch64-apple-darwin21的文件夹,有的话就下对了。

setuptools下实现gcc编译C extension
因为苹果电脑的默认编译器是clang,而我的项目中涉及到的头文件必须由gcc编译;但这个setuptools的文档比较抽象,且每次python setup.py install都自动用本地clang(这卡了好久…),所以我们需要加一些选项来让setuptools模块知道我们使用gcc编译,成功的方法如下,在命令行分别输入

export CC='gcc-12' 
export CXX='g++-12' 
python3 setup.py install

这样就会自动用gcc、g++编译,大功告成!
这样也无需做软链接,是比较灵活的方案

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值