在Mac OSX上安装Qt的调试版本

时间:2009-07-16 10:32:01

标签: macos qt

我需要单步执行Qt代码来帮助解决我的C ++应用程序中的错误。我已经从here下载了qt-mac-opensource-src-4.5.2.tar,并按照随附的安装说明进行操作:

  1. 将文件解压缩到/ tmp。
  2. 键入./configure -debug。
  3. 打字制作。
  4. 键入sudo make install。
  5. 按照说明编辑了PATH环境变量。
  6. DYLD_IMAGE_SUFFIX环境变量设置为_debug。
  7. 这个已安装的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 个答案:

答案 0 :(得分:4)

在Qt支持的帮助下,我现在已经解决了这个问题。

有几个问题:

  • Qt调试“make install”目前不会为_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项目中添加了框架和源代码。

答案 1 :(得分:2)

看看这个http://doc.trolltech.com/4.5/debug.html 在MacOSX和Xcode下有一个专门用于调试的部分...... 我想你需要使用qmake生成带有调试选项的makefile!

答案 2 :(得分:2)

在OS X 10.6和10.6.1中,将DYLD_IMAGE_SUFFIX设置为_debug will cause problems。希望这将通过OS X 10.6的未来更新来解决。