c++ - 在 Mac 上编译 C++11 代码?

标签 c++ c++11

我是 C++11 的新手。我试过:

clang++ -std=c++11 -stdlib=libc++ *.cc

它有效,但我的问题是:

  1. 有没有办法将这些标志设置为 clang++ 的默认值?
  2. 如何将 g++ 4.2 升级到支持 C++11 的版本?
  3. 您认为在 mac 上编译 C++11 代码的最佳方式是什么?

谢谢。

最佳答案

Brett 描述了如何使用 MacPorts 安装 GCC。这是使用 Homebrew 的方法,它自己设计(理所当然!)作为 MacPorts 的现代替代品:

brew tap homebrew/versions
brew install --enable-cxx gcc48

据我所知,安装最新 Clang 的最简单方法是下载 dsign 答案中链接的编译版本——而且,正如 Brett 提到的,由于 Apple 在内部使用 clang,因此不建议修改该安装——只需将你在别的地方。

关于什么是“最佳”编译器,除了 Brett 已经说过的内容之外,还有两件事需要考虑:

  1. GCC 比 Clang 更古老也更成熟。 Clang 中偶尔会发生内部编译器错误。也就是说,它正在迅速成熟,因为它受到多家公司的插入。
  2. Clang 是 C++11 的完整功能,GCC 4.8 is not .一个非常明显的例子是 GCC 4.8 仍然没有可用的 <regex>。实现,这是一种耻辱。

关于c++ - 在 Mac 上编译 C++11 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17247417/

相关文章:

c++ - 对象能否从标准 C++ 容器中删除自身?

c++ - 如何使用boost weibull分布库进行随机数生成?

c++ - 类成员的 std::mem_fn 不会编译

C++ 将 vector 追加到另一个 vector 中

c++ - 迭代 vector 时移动位置

c# - 将经过处理的视频从 C# 程序发送到 C++ 程序

c++ - curl 发布空对象

c++ - 为什么我的 T& 和 T&& 复制构造函数不明确?

c++ - C++11 内存模型是否可以防止内存撕裂和冲突?

具有继承模板的C++调用函数