मैं बस लिनक्स पर चल रहे कुछ कोड को डीबग करना चाहता हूं और मुझे डीबग बिल्ड ( -O0 -ggdb
) की आवश्यकता है। इसलिए मैंने इन चीजों को अपने साथ जोड़ा CMakeLists.txt
:
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")
जब मैंने संकलन करने का प्रयास किया तो मैंने प्रयोग करने पर क्रिया को बदल दिया make VERBOSE=1
और मैंने आउटपुट का अवलोकन किया, इस तरह
... /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 ...
जाहिरा तौर पर कोड के साथ संकलित किया गया है "-g -O2"
और यह वह नहीं है जो मैं चाहता हूं। मैं इसे "-O0 -ggdb"
केवल उपयोग करने के लिए कैसे मजबूर कर सकता हूं ?