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

4
我需要逐步查看Qt代码以帮助解决我C++应用程序中的一个错误。我从这里下载了qt-mac-opensource-src-4.5.2.tar并按照附带的安装说明进行了安装:
  1. 将文件解压到/tmp。
  2. 键入./configure -debug。
  3. 键入make。
  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个回答

4

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

出现了几个问题:

  • Qt调试的“make install”目前不会为_debug生成dSYM文件。他们已经提出了一个bug。为了解决这个问题:

    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

感谢您的回复。据我所知,您建议使用qmake生成带调试选项的makefile,这在Qt安装为dylibs而不是frameworks时是相关的。框架等效物是设置DYLD_IMAGE_SUFFIX,我已经尝试过。我现在已经成功修复了我的错误,而且没有逐步执行代码的步骤,并且已经向Qt提出了问题,因为他们建议将我需要逐步执行代码的文件放在临时目录中似乎是错误的。如果我找到解决方案,我会更新这个问题。谢谢。 - Robin

2
在 OS X 10.6 和 10.6.1 版本中,将 DYLD_IMAGE_SUFFIX 设置为 _debug会导致问题。希望未来的 OS X 10.6 更新能够解决这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接