2007年12月3日星期一

搞定windows下qt在Eclipse中的调试功能

今天早上来问了师弟,发现qt在Eclipse中的调试功能还没有搞定,这个问题属于基本的问题,不解决直接影响开发的效率,决心花点时间搞定它!
首先要解决的是编译生成debug版本可执行文件时出现“cannot find -lqtmaind”的错误。上网搜了一下,发现这是因为缺少debug版本的库文件,只要在Qt的bin目录下运行“qtvars compile_debug”即可(也可以到开始菜单的Qt程序组里找到“Qt 4.3.2 (Build Debug Libraries)”命令运行)。不过在第一次编译时出现了错误,从错误信息没看出哪里有问题,往上拉一拉看,发现编译时include的路径内居然有MS的vs .net 2003,要知道我们是用MinGW来编译的,问题可能出在这里!打开环境变量设置,发现里面有lib变量,里面赫然就是vs .net 2003的路径,删掉所有相关的变量,确定后重新执行编译,这回可以了。
编译出了debug版本的可执行文件,又出现了“Error creating session”的错误。还是先上网搜索,发现可能是gdb设置的问题。我看了一下MinGW的bin目录,里面根本没有gdb文件!还好我装过Dev-C++,那里面是可以调试的,找到Dev-C++的bin目录,里面果然有gdb!
下面就是对Debug对话框的设置,首先在Main选项卡下选择debug下的可执行文件作为C/C++ Application,然后在Debugger选项卡下选择gdb Debugger作为Debugger,不要选择“Stop on startup at”,在Debugger Option里选择前面找到的gdb文件即可。
搞定!!
不过gdb的调试功能好像是简单了一点,连Qt字符串的内容也看不到,调试的时候估计还要用print~~

没有评论: