g ++ 5.4.0 - 无法使用C ++ 14标准

时间:2016-06-25 06:49:10

标签: c++11 gcc cygwin c++14

我最近在Windows上使用Cygwin安装了gcc 5.4.0,因为我想测试g ++的C ++ 14标准功能。当我尝试编译时,我收到以下错误:

$ g++-5.4.0 -std=c++14 test.cpp
-bash: g++-5.4.0: command not found

这是我在test.cpp中编写的代码:

#include <iostream>

int main()
{
    auto lambda = [](auto x){ return x; };
    std::cout << lambda("Hello generic lambda!\n");
    return 0;
}

可能是什么问题?我也尝试在命令中用C++14替换C++11,但是得到了同样的错误。

1 个答案:

答案 0 :(得分:7)

当Cygwin安装g ++版本(在您的情况下为5.4.0)时,它会将g ++可执行文件放在PATH变量中。但是安装名称只是g ++。exe,所以你可以像这样调用程序:

g++ -std=c++14 test.cpp

如果你真的想用g ++ - 5.4.0调用编译器,你可以将实际的g ++可执行文件符号链接到该名称:

ln -s /usr/bin/g++.exe /usr/bin/g++-5.4.0.exe

然后您将能够使用g ++或g ++ - 5.4.0从命令行调用该程序:

g++-5.4.0 -std=c++14 test.cpp
g++ -std=c++14 test.cpp