2009-07-16 143 views
3

我需要瀏覽Qt代碼以幫助解決我C++應用程序中的錯誤。我從here下載QT-MAC-開源-SRC-4.5.2.tar,隨後與此附帶的安裝說明:在Mac OSX上安裝Qt的調試版

  1. 解壓文件到/ tmp。
  2. 鍵入./configure -debug。
  3. 打字製作。
  4. 輸入sudo make install。
  5. 按照指示編輯PATH環境變量。
  6. DYLD_IMAGE_SUFFIX環境變量設置爲_debug。

這安裝了Qt和我的Qt應用程序運行,但我仍然無法步入Qt代碼。

我正在使用Xcode 3.1.3,並嘗試將可執行信息更改爲「在加載框架時使用調試後綴」。這產生了很多警告,如:

警告:找不到目標文件「/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qmalloc .o「 - 沒有可用於」global/qmalloc.cpp「的調試信息。

警告:找不到對象文件「/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qnumeric.o」 - 沒有調試信息可用於「global/qnumeric.cpp」。

還有很多非qt相關的警告。

我會在一夜之間關閉Macbook Pro,我只能假設清除了tmp目錄,因爲解壓後的文件不再存在。

我想我可以通過重建無框架的Qt來修復它,但這更像是一種解決方法,而不是一個可能會回來咬我的修復程序。我也有點不情願這樣做,每次重建需要3到4個小時。

或者,下載二進制文件和調試庫工作?

我很感激任何關於我失蹤的建議以及我如何解決這個問題。

謝謝。

回答

3

在Qt支持的幫助下,我現在解決了這個問題。

有幾個問題:

  • Qt的調試「讓安裝」目前不會產生對_debug東西的dSYM文件。他們提出了一個關於這個的錯誤。四捨五入:

    4a。 cd /usr/local/Trolltech/Qt-4.5.2/lib
    4b。類型/usr/bin/dsymutil -o QtGui.framework/QtGui_debug.dSYM QtGui.framework/Versions/4/QtGui_debug
    4c。對每個Qt框架重複一遍。

  • tmp目錄確實在每次重新啓動時都會被擦除。爲了解決這個問題:

    7-將/tmp/qt-mac-opensource-src-4.5.2的全部內容複製到一個新的目錄~/Qt

我還將框架和源代碼都添加到了Xcode項目中。

2

看一看這個http://doc.trolltech.com/4.5/debug.html 有一個部分特別適用於MacOSX的和Xcode的下調試... 我猜你需要生成使用qmake的調試選項生成文件!

+0

感謝您的回覆。據我所知,當Qt作爲dylibs而不是框架安裝時,你使用qmake生成帶有調試選項的makefile的建議是相關的。相當於框架設置DYLD_IMAGE_SUFFIX,我嘗試過。 我已經成功修復了我的bug,但沒有逐步完成代碼,並且提出了一個Qt問題,因爲它似乎是錯誤的,他們建議將我需要的文件放在臨時目錄中的代碼中。 如果找到解決方案,我會更新此問題。謝謝。 – Robin 2009-07-17 10:20:41

2

在OS X 10.6和10.6.1中,將DYLD_IMAGE_SUFFIX設置爲_debugwill cause problems。希望這將通過OS X 10.6的未來更新解決。