更新 Apple g++/gcc

发布于 2024-12-07 21:22:12 字数 410 浏览 0 评论 0 原文

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

What is the difference between Apple gcc and GNU gcc? Is Apple gcc a superset of the standard one?

The g++ version information in my OSX shows:

$ g++ --version
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

Some of the latest features of C++11 are in gcc 4.3/4.4 as per this. Is there any newer version of Apple gcc I can upgrade to. if so, how can i do it? I have Xcode 4.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

深海不蓝 2024-12-14 21:22:12

好吧,对于第一部分,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.

仅此而已 2024-12-14 21:22:12

除了已经提到的 llvm-gccclang 之外,还有一个 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 and clang, 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.

一瞬间的火花 2024-12-14 21:22:12

您可以使用 macport 安装较新的版本。您可以在此处下载它。使用 macport 安装 gcc 后,您可以通过在构建中添加用户定义的设置来将其与 xcode 一起使用:

- Go to the build setting of your project
- Click on the add build setting button
- Choose user-defined setting
- Name it CC
- In the value field, put the path of the gcc version installed by macport.

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 :

- Go to the build setting of your project
- Click on the add build setting button
- Choose user-defined setting
- Name it CC
- In the value field, put the path of the gcc version installed by macport.
浅忆 2024-12-14 21:22:12

Apple GCC 分支中肯定存在但 GNU GCC 中不存在的一件事是

One thing that definitely is present in the Apple GCC branch but not in GNU GCC is blocks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文