【问题标题】:On Mac 10.9 Mavericks is the clang configuration different from the gcc link configuration?在 Mac 10.9 Mavericks 上,clang 配置与 gcc 链接配置不同吗?
【发布时间】:2017-05-17 03:08:52
【问题描述】:

当我检查 gcc/g++ 和 clang/clang++ 的版本时,我试图弄清楚“--version”输出之间的区别,我理解它们应该只是相互链接。此外,我不清楚是否有某种方法可以更新我给出的我现在锁定在 Mac OSX 10.9 上的内容。这个问题有点太多了,但简而言之,我正在努力为玩 SDL 做准备。最好在我进行时发布控制台输出和评论。我认为我有一些误解需要整理;我确实看过关于堆栈溢出的类似页面,但没有一个讨论能完全回答我的问题

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 

好的,所以这是一个相当旧的版本, 是否有一种安全的方法来更新所有内容,或者我是否系统被锁定? 我记得在我的系统上安装了命令行工具和最新版本的 Xcode 6.2

Target: x86_64-apple-darwin13.4.0
Thread model: posix


$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr   --with-gxx-include-dir=/usr/include/c++/4.2.1

4.2.1?我安装了 Xcode 6.2。我是不是要重建一些东西?

Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

$ clang --version
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

$ clang++ --version
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

clang 打印输出没有告诉我有关 Xcode 版本的信息,所以我不确定这里是否有区别。

简而言之,我是要更新或安装一些东西,以便我拥有一组更新的编译器,还是我设置好了?上面的 gcc/g++ 和 clang/clang++ 信息之间的真正区别是什么?最后,可以我是否可以更新,如果可以,以什么方式更新,我可以在没有任何负面影响的情况下更新吗?

如果问题有点过于笼统/模糊,请提前道歉。我只是想确保我对这些信息有正确的理解并知道如何进行。 谢谢。

【问题讨论】:

  • stackoverflow.com/questions/8674546/… 回答了我的部分问题:最好保留编译器的出厂版本,但这仍然不能帮助我确定是否可以使用自制软件来安装较新的版本(如何继续)以及如何在编译期间指定它们。嗯

标签: c++ xcode macos gcc llvm-clang


【解决方案1】:
  1. 在现代 Mac 系统上,gccclang 的别名,g++clang++ 的别名。

  2. 它们也是 Xcode(或 Xcode 命令行工具,如果您安装了这些工具)的组件。安装的 clang 版本取决于(但不等同于)您安装的 Xcode 版本。

  3. 您正在查看的“4.2.1”是 C++ 标头的版本。它只会让你感到困惑。忽略它。

如果您想要更新版本的编译器,则需要安装更新版本的 Xcode,为此,您需要安装更新版本的 macOS。

【讨论】:

  • 感谢您简洁明了的回答。我知道别名,但不确定我是否坚持使用我拥有的编译器版本。我想我还有另一个使用 Linux 的理由! (我不是升级mac电脑。)
猜你喜欢
  • 2013-12-14
  • 2013-11-01
  • 2014-11-01
  • 2013-11-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 2013-11-17
  • 1970-01-01
相关资源
最近更新 更多