2010-05-13 62 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目錄下爲調試器添加額外的目錄以將其全部選中。