Ich habe den folgenden Inhalt in meinem CMakeLists.txt:Ändern CMAKE_CXX_FLAGS in Projekt
project(Matfile)
SET (CMAKE_CXX_FLAGS "-std=c++0x")
set (SOURCES
"foo.cpp"
"bar.cpp"
)
add_library(
Matfile
${SOURCES}
)
Wie Sie sich vorstellen können, was ich tun möchte, ist meine C++ Quellen mit der Fahne zu kompilieren -std = C++ 0x (Ich benutze gcc und ich brauche die C++ 11 Funktionen). Leider funktioniert das nicht in dem Sinne, dass, wenn ich cmake verwende, um die Makefiles zu erzeugen, die Variable CMAKE_CXX_FLAGS vollständig ungültig ist.
Wie kann ich diese Variable in der Projektdatei einstellen?
Es scheint eine sehr dumme Frage zu sein, aber ich habe gerade nicht weniger als zwei Stunden ausgegeben, um das herauszufinden.
Die ' set 'command für die Flags sieht gut aus (obwohl für gcc v4.7 ab, sollte das Flag' -std = C++ 11' sein, denke ich). Was meinst du mit "völlig leer"? Was ist die Ausgabe, wenn Sie 'make VERBOSE = 1' ausführen? – Fraser
Möglicherweise sind die CMAKE_CXX_FLAGS im Makefile korrekt eingestellt, aber in der 'CMakeCache.txt' Datei leer. Es ist daher nicht ausreichend, den CMakeCache einzuchecken, es sei denn, man zwingt es, in den Cache zurückgeschrieben zu werden (benutzen 'set (var Wert CACHE STRING" "FORCE") – Alex