在Mac 10.9 Mavericks上,clang配置与gcc链接配置不同吗

On Mac 10.9 Mavericks is the clang configuration different from the gcc link configuration?

本文关键字:配置 gcc 链接 clang Mac Mavericks      更新时间:2023-10-16

当我检查gcc/g++和clang/crang++的版本时,我试图弄清楚"--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/crang++信息之间的真正区别是什么?最后,我可以更新吗?如果可以,以什么方式更新?我可以在没有任何负面后果的情况下更新吗?

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

  1. 在现代Mac系统上,gccclang的别名,g++clang++的别名。

  2. 它们也是Xcode的组件(或者Xcode命令行工具,如果您安装了它们的话)。clang的已安装版本依赖于(但与)您已安装的Xcode版本。

  3. 您看到的"4.2.1"是C++标头的版本。这只会让你感到困惑。忽略它。

如果你想要一个更新版本的编译器,你需要安装一个新版本的Xcode,要做到这一点,你必须安装一个更新的macOS。