Ich möchte nur etwas Code unter Linux debuggen und ich brauche ein Debug Build(). Also habe ich diese Dinge zu meinem CMakeLists.txt
:cmake CFLAGS CXXFLAGS Änderung
set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_C_FLAGS "-O0 -ggdb")
set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb")
set(CMAKE_CXX_FLAGS "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb")
Als ich versuchte ich mit make VERBOSE=1
ausführliche zu kompilieren drehte sich um und beobachtete ich die Ausgabe, wie dieser
... /usr/bin/c++ -D_BSD_SOURCE **-O0 -ggdb** -Wnon-virtual-dtor
-Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W
-Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS
-fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics
-fvisibility=hidden -fvisibility-inlines-hidden **-g -O2**
-fno-reorder-blocks -fno-schedule-insns -fno-inline ...
Anscheinend ist der Code mit "-g -O2"
kompiliert und das ist nicht was ich will. Wie kann ich es zwingen, nur "-O0 -ggdb"
zu verwenden?
Wenn Sie einen debuggable Build erstellen möchten, führen Sie einfach eine Debug-Konfiguration in der Befehlszeile aus. "cmake -DCMAKE_BUILD_TYPE = Debug". Der resultierende Build enthält die Debug-Flags für das angegebene Build-System. Kein Grund, die cmake-Datei selbst zu modifizieren. Sie können den CMAKE_C_FLAGS-Wert auch mit einem anderen -D-Argument senden. – Atifm