2016-06-25 6 views
3

zu verwenden Ich habe kürzlich gcc 5.4.0 unter Windows mit Cygwin installiert, weil ich die C++ 14 Standardfunktionen von g ++ testen wollte. Als ich zu kompilieren versucht, bekomme ich folgende Fehlermeldung:g ++ 5.4.0 - nicht in der Lage C++ 14 Standard

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

Dies ist der Code, den ich innerhalb test.cpp schrieb:

#include <iostream> 

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

Was könnte das Problem sein? Ich versuchte auch, C++14 durch C++11 im Befehl zu ersetzen, aber erhielt den gleichen Fehler.

+7

der Fehler ist, dass es keine 'g ++ ist - 5.4. 0 'auf deinem Weg, nicht dass deine Kopie von GCC nicht unterstütze C++ 14. – ildjarn

Antwort

5

Wenn Cygwin eine g ++ - Version (in Ihrem Fall 5.4.0) installiert, wird es die ausführbare Datei g ++ in Ihre PATH-Variable einfügen. Aber die Installation Name ist nur g ++ exe, so dass Sie das Programm wie folgt aufrufen können.

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

Wenn Sie wirklich den Compiler mit g ++ nennen wollte - 5.4.0, können Sie die tatsächliche Symlink g ++ ausführbar, dass Name:

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

dann werden Sie in der Lage sein, das Programm von der Kommandozeile aufrufen entweder mit g ++ oder g ++ - 5.4.0:

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

Danke für die genaue Antwort! Ich habe vor kurzem begonnen, g ++ zu benutzen, daher die naive Frage. –