cmake編譯時支援gdb除錯

2021-09-04 04:38:05 字數 689 閱讀 6910

一般在呼叫./configure時,可以通過設定cxxflags或者cflags使程式可以支援除錯,就是可以用gdb檢視程式執行的資訊,但在cmake編譯時,在cmake過程和後面的make及make install都無法加入除錯資訊。

當然可以加入除錯資訊的,方法如下:

修改cmakelists.txt檔案,如我修改如下:

# version 2.4 might work, but it won't find static libraries with odd names

cmake_minimum_required(version 2.6)

set(cmake_build_type "debug")

set(cmake_cxx_flags_debug "$env -o0 -wall -g2 -ggdb")

set(cmake_cxx_flags_release "$env -o3 -wall")

在cmakelists.txt檔案的開頭部分增加上面的幾個set語法行,簡單解釋如下:

在cmake中有乙個全域性的環境變數,cmake_build_type,可以取release或者debug等值。然後可以通過設定cmake_cxx_flags_debug來設定在debug時的cxxflags,這個值大家肯定都熟悉的哈。如果不需要新增除錯資訊,就直接修改cmake_build_type的值。

CMake編譯時支援GDB除錯

執行程式的時候出現了coredump,所以得在編譯時候加入除錯選項,gdb g,但是現在使用cmake了,所以得加入除錯選項。在linux環境下通過設定編譯選項cxxflags或者cflags使程式可以支援gdb除錯,在cmake構建的工程中也可以方便的實現。在cmakelists.txt檔案中新增...

CMake編譯加入GDB除錯資訊

1 set cmake build type debug 2 set cmake cxx flags debug env o0 wall g2 ggdb 3 set cmake cxx flags release env o3 wall 在cmakelists.txt中加入這三行 cmake 中有乙...

cmake中加入gdb除錯

在cmakelists.txt中加入對gdb支援的語句 新增對gdb的支援 set cmake build type debug set cmake cxx flags debug env o0 wall g2 ggdb set cmake cxx flags release env o3 wall...