c++ - 无法使用带有 g++ 的 -std 标志进行编译

标签 c++ gcc c++11 g++ cygwin

我正在运行安装了 cygwin 的 Windows 7,并尝试使用一些较新的 C++ 功能。我知道,为了启用这些功能,我必须将 -std=c++0x 标志传递给 g++,但这会给我以下错误:

cc1plus: error: unrecognized command line option "-std=c++0x"

我发出的导致该错误的命令行是:

g++-3 hello.cpp -std=c++0x -o hello

g++-3 的原因是 Windows 的符号链接(symbolic link)有问题。我在 cygwin 终端中使用了 g++,结果还是一样。

有什么想法吗?

最佳答案

您需要使用支持 C++ 2011 功能的 GCC 版本。

This page has a list of compilers and which features each one supports .如果我是你,我会尽可能使用 GCC 4.7。

关于c++ - 无法使用带有 g++ 的 -std 标志进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12321411/

相关文章:

c++ - 这两种实现函数调用的方法有什么区别呢?

c++ - 替换字符串中的子字符串 C++

c++ - 哪个是 G++ 4.4.1 默认分配器?

windows-8 - 使用 MessageWebSocket 的 Windows 8 现代/地铁应用程序的 Socket.IO 文档

c++ - 如何使用仅使用其中一个 vector 的标准以相同的方式对两个 vector 进行排序?

c++ - 为什么 printf 和 std::cout 的输出不同?

c++ - std::array of unknown size 作为类成员

c++ - 如何从同样具有 'main' 的 .cpp 源文件中链接函数?

gcc - 使用 Arm GNU 汇编器弹出推送

c++ - clang 3.3 和 constexpr 约束