cmake/make - unrecognized command line option "-std=c++14" - aber G++ tut
Ich zusammengestellt gcc
und cmake
(in dieser Reihenfolge) in meinem home-Ordner auf einem server heute (der compiler auf dem server ist 5 Jahre alt und ich brauche C++14
Funktionen,...).
Ist es kein problem, wenn ich zum Beispiel etwas per Befehl,
g++ -std=c++14 main.cc
Aber wenn ich cmake .
dann make
, bekam ich diese Fehlermeldung :
cc1plus: error: unrecognized command line option "-std=c++14"
in CMakeLists.txt :
add_definitions(-std=c++14)
in CMakeFiles/ein.aus.dir/flags.machen
CXX_FLAGS = -I/home/jager/manufacture/usr/local/include -std=c++14
Informationen :
$ g++ --version
g++ (GCC) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ cmake --version
cmake version 3.3.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Ich habe keine Ahnung, was die fheck...
es scheint, dass cmake ist die Verwendung des system-gcc; Sie sollten setzen Sie Ihren WEG irgendwie auf CMakeLists.txt; finden Sie unter cmake.org/Wiki/CMake_Useful_Variables
dude, du Recht! fügen Sie diese in eine Antwort, ich ergänze es mit dem, was ich Tat und wie die Leute sehen können, was compiler, cmake ist mit...
es ist noch Zeit, zu behaupten, Ihre point!
mein Kommentar war nur provisorisch und ich habe es aus meinem Handy. Es ist meine Meinung, dass Sie es erweitert, und Ihre eigene (vollständige und korrekte) Antwort, so, bitte, führen Sie mit den Punkten! 😀
dude, du Recht! fügen Sie diese in eine Antwort, ich ergänze es mit dem, was ich Tat und wie die Leute sehen können, was compiler, cmake ist mit...
es ist noch Zeit, zu behaupten, Ihre point!
mein Kommentar war nur provisorisch und ich habe es aus meinem Handy. Es ist meine Meinung, dass Sie es erweitert, und Ihre eigene (vollständige und korrekte) Antwort, so, bitte, führen Sie mit den Punkten! 😀
InformationsquelleAutor The Unholy Metal Machine | 2015-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es scheint, Sie sind mit dem system-compiler anstatt die, die Sie gerade gebaut. Ihre beste Wette ist, konfigurieren Sie Ihr Projekt unter Verwendung Ihres neu kompilierten g++:
Können Sie überprüfen, ob die richtigen compiler verwendet wird, indem Sie eine ausführliche bauen, und im Blick auf die
g++
Weg, CMake verwendet:Das ist eigentlich besser: beim verteilen der Codes, die Ihre Benutzer nicht benötigen, um Ihre Compiler in den gleichen Pfad wie Sie. Auch dieser Wert wird gespeichert in Ihrem
CMakeCache.txt
, so brauchen Sie nur, um es einmal. Ihre Umgebungsvariablen bekommen wird gelöscht, sobald Sie die Nähe zu Ihrem terminal-Fenster.wenn du deine variable als ich es Tat, werden Sie nicht haben, neu zu definieren... und ich sehe nicht ein, warum andere Menschen haben sollte der compiler an der gleichen Stelle. Als Sie sagte, wenn Sie definieren die variable Trog Befehlszeile, dann, nach einem logout, wird der compiler verwendet werden, der eine auf dem system installiert... oder gibt es etwas, das ich nicht verstehe.
InformationsquelleAutor Alex
Massa kommentierte:
wich ist tatsächlich Recht, das problem kann gelöst werden, indem man .bashrc:
dann, aktualisieren Sie Ihre aktuelle Sitzung,
in diesem Punkt cmake wird die gute compiler ohne Sie ändern müssen, um eine Datei in Ihrem Projekt.
lassen Sie mich schlage vor, sowie das hinzufügen in einigen CMakeLists.txt:
diese Befehle gibt einige schöne Informationen, wenn Sie ausführen,
eigentlich war ich excpecting Massa zu beantworten... denn es war sein Kommentar, der mir dabei half diese Probleme zu lösen. Ich nehme meine Antwort in paar Stunden, wenn er nicht
InformationsquelleAutor The Unholy Metal Machine