我最近在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
,但是得到了同样的错误。
答案 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