2011-01-10 106 views
1

我写了一个由gcc -g * .o -o *编译的OpenCV程序,运行成功。但是,当我尝试使用gdb调试此程序,如gdb cvmat时,它不起作用。我如何使用gdb调试一个opencv程序?如何使用GDB调试OpenCV程序?

+1

粘贴你从gdb获得的错误。 – ismail

+0

阅读/home/uranus/project/cvmat/cvmat...中的符号(没有找到调试符号)...完成。当我用gcc -g选项编译源文件时,会发生什么情况? – Liyou

回答

1

虽然您的程序是使用调试符号(使用-g标志)编译的,但听起来OpenCV不是。使用ccmake配置您的版本时,尝试使用调试符号重建OpenCV安装,方法是将CMAKE_BUILD_TYPE设置为DebugRelWithDebInfo

1

我没有运气-D CMAKE_BUILD_TYPE=Debug。我可以使用生成的库,但我无法在OpenCV函数内进行调试。使用cmake-gui也没有为我解决任何问题。

我能够通过手动编译库组件,我是感兴趣...

g++ -g -I ../../include/opencv/ -I ../../3rdparty/include/ cxlapack.cpp cxmatrix.cpp ../../lib/libcxcore.so my_source_file.cpp 
1

组合cmake的-DCMAKE_BUILD_TYPE内OpenCV的调试:STRING = RelWithDebInfo -D CMAKE_BUILD_TYPE = DEBUG成功追加调试信息。