如何使用macports中安装的gcc?

Nem*_*emo 42 c++ macos gcc macports

我安装了gcc 4.6.来自macports(支持C++ 0x).但是,当我检查'gcc --version`时,它显示的是旧版本.如何使用macports安装的新gcc?

rai*_*mue 104

您可以控制符号链接/opt/local/bin/gcc使用port select.您可以使用查看可用版本port select --list gcc.使用mp-作为前缀列出的任何内容都指的是MacPorts自己的端口,gcc42和llvm-gcc42指的是Apple随Xcode一起提供的编译器.

我的系统示例:

$ port select --list gcc
Available versions for gcc:
    gcc42
    llvm-gcc42
    mp-gcc45
    none (active)
$ sudo port select --set gcc mp-gcc45
Password:
Selecting 'mp-gcc45' for 'gcc' succeeded. 'mp-gcc45' is now active.
Run Code Online (Sandbox Code Playgroud)

之后,要么打开一个新的终端窗口,要么hash -r让bash识别出更改.

  • 这应该是公认的答案. (5认同)
  • 对不起,你当然没有把MacPorts放在第一位.仔细观察路径,前面附近有/ opt/local/var/macports,但实际上并不包含任何二进制文件./ opt/local/bin后面是/ usr/bin之后的列表.这就是为什么bash从那里拿起gcc.(此外,你永远不应该在你的PATH中列出".",这是一个有害的漏洞). (2认同)

Nik*_*sov 8

我记得它就像是g++-mp-4.6.我相信将环境变量设置为足够CXX了.

  • 为什么这是最好的答案,而Raim的答案是正确答案? (4认同)
  • 有效.有没有办法默认使用它,所以我不必更改所有的make文件. (2认同)