Table of Contents
-
1. Introduction
-
2. How to Support GDB Debugging
-
3. Code Examples
-
[1] Write demo.c
-
[2] Write CMakeLists.txt
-
[3] Compile
-
[4] GDB Debugging
1. Introduction
2. How to Support GDB Debugging
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
3. Code Examples
project/
│
├── CMakeLists.txt
└── demo.c
[1] Write demo.c
#include <stdio.h>
void print_val(int val) {
printf("value: %d\n", val);
}
int main() {
int a = 10;
int b = 20;
print_val(a);
print_val(b);
return 0;
}
[2] Write CMakeLists.txt
cmake_minimum_required (VERSION 3.10)
# Project Name
project (demo)
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
# Add executable
add_executable(demo demo.c)
[3] Compile
mkdir build
cd build;cmake ..
make