Установка отладочной версии Qt на Mac OSX

Мне нужно выполнить код Qt, чтобы помочь решить ошибку в моем приложении C++. Я скачал 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.

Это установленный Qt, и мое приложение Qt запускается, но я все еще не могу войти в код Qt.

Я использую Xcode 3.1.3 и попытался изменить исполняемую информацию на «использовать суффикс отладки при загрузке фреймворков». Это вызвало множество предупреждений, таких как:

предупреждение: не удалось найти объектный файл "/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qmalloc.o" - отсутствует отладочная информация для " глобальный/qmalloc.cpp".

предупреждение: не удалось найти объектный файл "/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qnumeric.o" - отсутствует отладочная информация для " глобальный/qnumeric.cpp".

а также много предупреждений, не связанных с qt.

Я бы выключил Macbook Pro на ночь, что, я могу только предположить, очищает каталог tmp, поскольку распакованный файл больше не существует.

Я думаю, что мог бы исправить это, пересобрав Qt без фреймворков, но это скорее обходной путь, чем исправление, которое, вероятно, вернется, чтобы укусить меня. Я также немного неохотно делаю это, когда каждая перестройка занимает от 3 до 4 часов.

В качестве альтернативы, будет ли работать загрузка двоичных файлов и отладочных библиотек?

Я был бы признателен за любые предложения о том, что мне не хватает, и как я могу решить эту проблему.

Спасибо.


person Robin    schedule 16.07.2009    source источник


Ответы (3)


С помощью поддержки Qt я решил эту проблему.

Было пару вопросов:

  • Отладка Qt «make install» в настоящее время не генерирует файлы dSYM для материала _debug. Они подняли ошибку по этому поводу. Чтобы обойти это:

    4а. cd /usr/local/Trolltech/Qt-4.5.2/lib
    4б. Введите /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 как фреймворки, так и исходный код.

person Robin    schedule 27.07.2009

Взгляните на этот http://doc.trolltech.com/4.5/debug.html Есть специальный раздел для отладки под MacOSX и Xcode... Думаю, вам нужно сгенерировать make-файл с опцией отладки, используя qmake!

person Matthieu    schedule 16.07.2009
comment
Спасибо за ответ. Насколько я понимаю, ваше предложение создать make-файл с параметрами отладки с использованием qmake актуально, когда Qt установлен как dylib, а не как фреймворк. Эквивалентом фреймворка является установка DYLD_IMAGE_SUFFIX, что я пробовал. Теперь мне удалось исправить мою ошибку, не выполняя код, и я поднял проблему с Qt, потому что кажется неправильным, что они предлагают помещать те самые файлы, которые мне нужны для выполнения кода, во временный каталог. Я обновлю этот вопрос, если найду решение. Спасибо. - person Robin; 17.07.2009

В OS X 10.6 и 10.6.1 установка DYLD_IMAGE_SUFFIX на _debug вызовет проблемы. Надеемся, что это будет исправлено в будущем обновлении OS X 10.6.

person Wim Leers    schedule 16.10.2009