Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为xcode调试设置qt_Xcode_Qt4_Debugging - Fatal编程技术网

为xcode调试设置qt

为xcode调试设置qt,xcode,qt4,debugging,Xcode,Qt4,Debugging,我刚刚在雪豹10.6.3上安装了Qt4.6。我写了一个非常简单的程序。我可以使用qmake生成一个xcode项目,但我不能使用QT函数。如何设置它?我没有在Mac上尝试过,但在Linux上,您需要执行以下过程: 首先,您需要设置Qt,使其具有可用的调试符号: ./configure -debug-and-release separate-debug-info # other options 使用可用的调试符号,您现在应该能够获得有效的堆栈跟踪 使用qmake构建应用程序时,需要在项目文件中设置

我刚刚在雪豹10.6.3上安装了Qt4.6。我写了一个非常简单的程序。我可以使用qmake生成一个xcode项目,但我不能使用QT函数。如何设置它?

我没有在Mac上尝试过,但在Linux上,您需要执行以下过程:

首先,您需要设置Qt,使其具有可用的调试符号:

./configure -debug-and-release separate-debug-info # other options
使用可用的调试符号,您现在应该能够获得有效的堆栈跟踪

使用qmake构建应用程序时,需要在项目文件中设置
调试
(或
调试和发布
)标志:

CONFIG += debug
完成此操作后,只需告诉调试器Qt源的位置:

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

之后,
列表
将显示实际的Qt源代码。您可能需要在src目录下添加其他目录,以便调试器将其全部提取。

默认情况下,qt是使用调试库和非调试库构建的。这是我的理解。比如说,

% ls /Library/Frameworks/QtCore.framework/
Contents/           Headers@            QtCore@             QtCore.prl          QtCore_debug@       QtCore_debug.dSYM/  QtCore_debug.prl    Versions/
另外,我的Qt4.7分支的默认源代码构建也有*\u调试libs

设置Xcode很简单,您只需设置您的项目并

% qmake -spec macx-xcode
这个-spec是官方mac发行版的默认版本,但是如果您从源代码构建自己的版本,默认版本是macx-g++,它创建了一个Makefile项目

这将生成一个MyProject.xcodeproj,该文件预先配置为链接所有必要的Qt框架,设置路径,并将发布和调试构建目标设置为与官方SDK相同的选项

如果您需要首先从原始源目录生成qt项目文件,则假设您已经设置了qt项目文件:

% qmake -project
对于这些生成的*.xcodeproj文件,调试是“开箱即用”的。然而,有一个小小的“障碍”。由于Qt充满了自定义数据类型,Xcode不知道如何在调试器的摘要窗格中显示它们的“值”。例如,您无法看到QString的值

有一种输入显示的方法,但我发现这些方法通常(总是?)不适用于QoObject

为了实现这一点,我启动了一个使用xcode的调试器c回调的项目(在上面的链接文章中也提到了,尽管他们的示例在o.o中甚至不起作用)。我叫它


我刚刚开始,并一直在根据需要添加类型。但是,使用现有函数作为模板创建一个非常简单。

您想进入Qt源代码还是您正在使用的Qt代码?我想进入我正在使用的Qt源代码。假设我的应用程序中有默认的Qt对话框,我想看看对象是如何构造的,对话框是如何被带到前面的。