当你安装到macOS系统gcc后,发现gcc --version根本不是gcc编译器而是clang C++编译器,在ubuntu上我们一般是sudo命令可以移除gcc重新链接到对应gcc,但是macOS是不允许这么做,因为你是没法在root权限下改变gcc执行文件或者链接过去,这就比较尴尬了。不过还有个办法就是在环境变量修改即可按环境变量读取gcc命令。具体做法,以m1芯片为例子,其他类型macOS是一样的。
由于M系列芯片的MacOS系统,gcc,g++,c++,cpp默认关联的是系统自带的Clang编译器。故即使利用Homebrew安装GCC编译器,编译程序时,GCC仍然关联的是系统自带的Clang编译器。因此,我们需要在Homebrew安装了GCC编译器只侯,重新关联gcc到Homebrew安装的GCC编译器。具体做法是:
找到Homebrew安装的与GCC相关的二进制文件:
进入Hombrew的文件目录**/opt/homebrew/bin/**,找到gcc-n,cpp-n,g++-n,c++-n的文件
重新建立关于gcc的别名(M系列芯片):
alias gcc=‘gcc-n’
alias cpp=‘cpp-n’
alias g++=‘g++-n’
alias c++=‘c++-n’