2009-07-16 57 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的未来更新解决。