2010-05-13 125 views
2

我刚刚在snow leopard 10.6.3上安装了QT 4.6。我写了一个非常简单的程序。我可以使用qmake生成一个xcode项目,但我无法步入QT功能。我如何设置它?为xcode调试设置qt

+0

您是否想要使用Qt源代码或您正在使用的Qt代码? – 2010-05-13 23:33:57

+0

我想进入我正在使用的Qt源代码。比方说,我的应用程序中有默认的Qt对话框,我想看看对象是如何构建的,以及对话框是如何展现在前面的。 – Quincy 2010-05-13 23:55:19

回答

2

默认情况下,QT是建立与调试和非调试库。这是我的理解。例如,

% ls /Library/Frameworks/QtCore.framework/ 
Contents/   [email protected]   [email protected]    QtCore.prl   [email protected]  QtCore_debug.dSYM/ QtCore_debug.prl Versions/ 

此外,我从Qt 4.7分支的源版本默认也有* _debug库。

的Xcode中设置的蛋糕,你只要设置你的项目和

% qmake -spec macx-xcode 

这-spec是官方的MAC分配默认的,但如果你从源代码构建自己的缺省值是macx- g ++创建一个Makefile项目。

这会生成一个MyProject.xcodeproj,它预先配置为链接所有必需的Qt框架,设置路径,并将Release和Debug构建目标设置为与官方SDK相同的选项。

这一切都是假设你有你的Qt项目文件设置,如果你需要生成从原始源目录,首先:

% qmake -project 

调试工作“开箱即用”为这些生成的*。 xcodeproj文件。但是,有一点“麻烦”。由于Qt充满了自定义数据类型,因此Xcode不知道如何在调试器的摘要窗格中显示它们的“值”。所以你不能看到QString有什么价值,例如。

有进入custom macros用于显示器的方法,但我发现这些经常(总是?)没有为工作的QObject。

为了得到那个工作,我已经开始使用Xcode的调试器Ç回调一个项目(上面链接的文章中也提到过,虽然他们的例子甚至不工作o.O)。我称之为Qt4DataFormatters

我刚刚开始,并在有需要时都添加了类型。尽管使用现有函数作为模板创建一个很简单。

1

我没试过在Mac上,但在Linux上,你需要采取以下处理:

首先,你需要设置的Qt以便它已调试可用符号给你:

./configure -debug-and-release separate-debug-info # other options 

使用可用的调试符号,您现在应该能够获得有效的堆栈跟踪。

当建立与qmake来对你的应用程序,你需要有debug(或debug_and_release)标志在您的项目文件中设置:

CONFIG += debug 

一旦你做到了这一点,你应该只需要告诉调试器Qt源文件位于:

(gdb) dir /path/to/qt/src 

之后,list应该会显示实际的Qt源代码。您可能需要在src目录下为调试器添加额外的目录以将其全部选中。