我写了一个由gcc -g * .o -o *编译的OpenCV程序,运行成功。但是,当我尝试使用gdb调试此程序时,如gdb cvmat,它不起作用。我如何使用gdb调试opencv程序?
答案 0 :(得分:1)
虽然您的程序是使用调试符号编译的(使用-g
标志),但听起来像OpenCV不是。在使用CMAKE_BUILD_TYPE
配置构建时,尝试将Debug
设置为RelWithDebInfo
或ccmake
,尝试使用调试符号重建OpenCV安装。
答案 1 :(得分:1)
-D CMAKE_BUILD_TYPE=Debug
我没有运气。我可以使用生成的库,但我无法在OpenCV函数内部进行调试。使用cmake-gui
并没有为我解决问题。
我能够通过手动编译我感兴趣的库组件来调试OpenCV内部...
g++ -g -I ../../include/opencv/ -I ../../3rdparty/include/ cxlapack.cpp cxmatrix.cpp ../../lib/libcxcore.so my_source_file.cpp
答案 2 :(得分:1)
组合cmake -DCMAKE_BUILD_TYPE:STRING = RelWithDebInfo -D CMAKE_BUILD_TYPE = DEBUG成功附加调试信息。