更新 Apple g++/gcc
Apple gcc 和 GNU gcc 有什么区别? Apple gcc 是标准 gcc 的超集吗?
我的 OSX 中的 g++ 版本信息显示:
$ g++ --version
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
C++11 的一些最新功能位于 gcc 4.3/4.4 中,按照 这个。有没有我可以升级到的 Apple gcc 的更新版本。如果是这样,我该怎么做?我有 Xcode 4.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好吧,对于第一部分,Apple 在本例中使用 g++ 的 LLVM 后端作为默认 g++。 Apple 还为 LLVM 安装了名称美妙的 clang 和 clang++ 前端。但是,绝对没有什么可以阻止您安装 GCC 的新分支; MacPorts 提供适用于 4.6 及之前所有版本的软件包。如果您在 gcc 手册页中查找“APPLE ONLY”,您可以看到哪些内容在 Apple 分支之外不可用。
Well, for the first part, Apple in this case is using the LLVM backend for g++ as the default g++. Apple also installs the wonderfully named clang and clang++ front-ends for LLVM. However, there is absolutely nothing stopping you from installing newer branches of GCC; MacPorts has packages for everything up to 4.6. If you look for "APPLE ONLY" in the gcc man page, you can see what won't be available outside of Apple branches.
除了已经提到的
llvm-gcc
和clang
之外,还有一个 Apple 提供的 gcc-4.2(没有 LLVM 后端),位于/usr/bin/gcc- Xcode 4.1 中的 4.2
。但不要覆盖/usr/bin
中 Apple 提供的版本。所有三个都支持功能超集,包括普通 GNU 发行版中未找到的多架构支持和多 abi 支持,并且许多第三方软件包依赖于 OS X 中的这些功能。如果您通过 MacPorts 或从源代码安装某些内容,它将安装到不同的路径,例如/opt/local/bin
或/usr/local/bin
。使用 PATH 或环境变量来管理您使用的编译器。Beside the already mentioned
llvm-gcc
andclang
, there is also an Apple-supplied gcc-4.2 (without LLVM backend) at/usr/bin/gcc-4.2
in Xcode 4.1. But do not overwrite the Apple-supplied versions in/usr/bin
. All three support a superset of features include multi-arch support and multi-abi support not found in the vanilla GNU distributions and many third-party packages depend on these features in OS X. If you install something via MacPorts or from source, it will be installed to a different path, like/opt/local/bin
or/usr/local/bin
. Use PATHs or environment variables to manage which compiler you use.您可以使用 macport 安装较新的版本。您可以在此处下载它。使用 macport 安装 gcc 后,您可以通过在构建中添加用户定义的设置来将其与 xcode 一起使用:
You can use macport to install newer versions. You can download it here. Once you have installed gcc with macport, you can use it with xcode by adding an user-defined setting to your build :
Apple GCC 分支中肯定存在但 GNU GCC 中不存在的一件事是 块。
One thing that definitely is present in the Apple GCC branch but not in GNU GCC is blocks.