2016-06-25 83 views
3

我最近在使用Cygwin的Windows上安裝了gcc 5.4.0,因爲我想測試g ++的C++ 14標準功能。當我試圖編譯,我得到以下錯誤:g ++ 5.4.0 - 無法使用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++11代替C++14,但得到了相同的錯誤。

+7

的錯誤是沒有'G ++ - 5.4。 0'在你的路徑中,而不是你的副本GCC不支持C++ 14。 – ildjarn

回答

5

當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 
+1

謝謝你的確切答案!我最近開始使用g ++,因此是一個天真的問題。 –