c++ - 在 Mac 10.9 Mavericks 上,clang 配置是否与 gcc 链接配置不同?

标签 c++ xcode macos gcc llvm-clang

当我检查 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++ 信息之间的真正区别是什么?最后,我可以完全更新吗?如果可以,以什么方式更新,我可以这样做而不会产生任何负面后果吗?

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

最佳答案

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

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

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

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

关于c++ - 在 Mac 10.9 Mavericks 上,clang 配置是否与 gcc 链接配置不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436495/

相关文章:

macos - Swift - 是否可以在 MacOS ManuBar 应用程序中的 AppDelegate 类之外构建菜单栏项?

c++ - boost::bind 与具有引用参数的函数绑定(bind)

c++ - 为什么在我的 C++ 项目中使用命名空间不起作用?

奇怪的堆栈上的 c++ 分配

c++ - 未调用库中的 ESP32 函数

ios - View 在水平和垂直方向上模棱两可,布局复杂

ios - 分配周末 FSCalendar

ios - Xcode 无法在运行 iOS 13 的真实 iOS 设备上构建

java - Mac 10.15 上的 ElasticSearch 错误 "/System/Volumes/Data/usr/local/var/lib/elasticsearch/nodes/0" "write"

macos - 在哪里永久设置 npm 代理?