Preface
Mac 的 OS X 系统的 C语言 编译器用的是 Clang,如下图,在 Terminal 输入 gcc -v
或者 gcc --version
后,显示 C语言 的编译器:
但是很多时候,比如说编译很多工具,如 Caffe,Clang 编译器会产生很多 warning 以及 error。虽然说 Clang、LLVM 啥的甩 GCC 几条街,但是我不想在这里浪费时间。干脆将编译器切换到大家默认的 GCC 。这样方便一些。
但是该怎么切换了,我之前也尝试过,没成功。今晚又一次尝试了,终于成功了。记录下来,一是可以给也想改变的人参考,二是以后再切换回 LLVM 的 Clang 的时候,有个参考。
将 Mac OS X 系统的 C、C++ 编译器从默认的 Clang 切换到 GCC
我参考了一些问答及博客文章,一是 * 上这个人的回答:
http://*.com/questions/20349104/using-gcc-instead-of-clang-in-ghci-or-ghc
这个人还需要在 Mac 上安装 ghc
命令,这东西我不知道是什么。但整整耗费了我 1G 的*流量(正常下,得下到猴年马月)。但按照步骤来做,我自己碰见的情况却跟他的步骤对不上号,不敢瞎尝试。于是再找找其他办法。
随后,我在 stackexchange 上找到了下面的问答:
http://apple.stackexchange.com/questions/99077/how-to-set-gcc-4-8-as-default-gcc-compiler
抱着尝试的心,去试了,居然成功了。操作如下,很简单:
$sudo vim ~/.bash_profile
在 .bash_profile
文件中,添加如下几行:
alias gcc='gcc-4.7'
alias cc='gcc-4.7'
alias g++='g++-4.7'
alias c++='c++-4.7'
上面的 gcc-4.7
是我自己用 brew install gcc47
安装的版本,这个根据你自己的实际情况改动。
之后,source ~/.bash_profile
,再输入 gcc -v
或者 gcc --version
,显示为 gcc 4.7 了:
可以看见,已经更改成功了。
注:
我用 brew 安装的 brew install gcc47
位置:
/usr/local/Cellar/gcc47/4.7.4
我用 brew 安装的 brew install ghc
安装的位置:
/usr/local/Cellar/ghc/8.0.1
PostScript
多说一句:
因为我不用 Mac 做 iOS 开发,所以这个更改对我应该没影响。但是如果你要做 iOS 开发,我想要慎重。总之,我们在 *nix 系统中做什么改变,都应该清楚自己在做什么。那么即使做错了,也能够恢复回去。