macos - 为什么我在 Mac OS X 中有两个版本的 gcc 和 g++?

标签 macos gcc g++ command-line-tool

在安装 XcodeCommandlineTools 之前,我刚刚重新安装了 Mac OS X Yosemite

看来我在以下两个目录中有两个版本的 gcc 和 g++:

  1. /usr/bin(两个文件都是 14kb)和
  2. /Library/Developer/CommandLineTools/usr/bin(g++只是一个别名,gcc是19kb)

在终端中键入“which gcc”给我“/usr/bin/gcc”,“which g++”也给我“/usr/bin/g++”,这意味着系统将只使用 gcc和/usr/bin 中的 g++

所以,我的问题是:

<强>1。为什么我有两个版本的 gcc 和 g++?

<强>2。为什么commandlinetools安装的gcc和g++没有指定为默认?

<强>3。我如何让 Mac OS X 指向目录“/Library/Developer/CommandLineTools/usr/bin”中的 gcc 和 g++?

顺便说一句,我根据以下内容安装了 CommandlineTools:

http://railsapps.github.io/xcode-command-line-tools.html

但是,我通过键入“gcc --version”得到了不同的输出(差异突出显示):

配置:--prefix=/Application/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM 版本 6.0 (clang-600.0.54)(基于 LLVM 3.5svn) 目标:x86_64-apple-darwin14.0.0 线程模型:posix

... 而不是上面网页中显示的 /Library/Developer/CommandLineTools/usr ...

我很困惑目前 Mac OSX 实际使用的是哪个 gcc/g++ ...

最佳答案

Mac OSX 不使用 gcc (g++)。自 Mac OSX 10.7 起默认为 Clang。因此,当您键入 gcc 或 g++ 进行编译时,它实际上使用的是 Clang (cc)

关于macos - 为什么我在 Mac OS X 中有两个版本的 gcc 和 g++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28523476/

相关文章:

python - Lion 的新安全模型将如何影响 Python 之类的东西?

c - 这个集会怎么可能?

ios - “strcmp”未在此范围内声明

c++ - 为什么 g++ 不在这里启用 RVO?

ruby-on-rails - 在 Mac 优胜美地 10.10 上安装 Rails

ios - Xcode 在控制台中显示构建输出

windows - 是否可以从 Windows 以低色深连接到 Mac OS X 10.5 Leopard 的内置 vnc 服务器?

c++ - 为什么 Clang std::ostream 会写入 std::istream 无法读取的 double 值?

c++ - 为什么 GCC 交叉编译器不能找到所有的库?

c++ - G++ 编译器在每次运行后返回相同的变量地址(即使在名称更改后)