Qt Creator что-то не компилит исходники и не отлаживает
От: удусекшл  
Дата: 03.09.21 14:56
Оценка:
Здравствуйте!

Обычно работаю в вижуалке, но тут надо бы поотлаживать Qt проект, и вижуалка по внутренностям Qt не очень умеет показывать, решил собрать проект в Qt Creator'е.

Тулсеты установлены все для версий 5.14/5.15, Qt Creator их видит.

Под MinGW проект собирается, но отладка не стартует:
17:40:32: Debugging starts
17:40:35: Debugging has finished


Лаконично, без подробностей. И попробуй тут догадайся, что ему надо. Есть подозрение, что не хватает одной DLL'ки — вопрос, как в проекте .pro прописать путь до нужных DLL, чтобы он умел их подхватывать? Qt'шные же DLL правильной версии умеет находить.

Если попытаться собирать MSVCэшным тулсетом, то происходит вообще странное: в панели Compile Output вижу, что запускается UIC для UI-файлов, затем MOC для хидеров, затем... — сразу вызывается линкер. Линкер, само-собой, ругается, что не может найти объектники. Пробовал собирать и через JOM, и через NMAKE — результат одинаков.


Глянул в генерённый make-файл список сорцов есть, список объектников — есть, друг другу соответствуют.

Смущают только правила вида:
{debug}.cpp{debug\}.obj::
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fodebug\ @<<
    $<
<<


Давно в make-файлах не копался, и не соображу, что это значит, но довольно подозрительная конструкция.


В общем, как бы заставить это чудо работать хоть как-то, с любой из версий Qt?
Отредактировано 03.09.2021 14:56 удусекшл . Предыдущая версия .
Re: Qt Creator что-то не компилит исходники и не отлаживает
От: Maniacal Россия  
Дата: 03.09.21 15:07
Оценка:
Здравствуйте, удусекшл, Вы писали:

У>Тулсеты установлены все для версий 5.14/5.15, Qt Creator их видит.


У>Под MinGW проект собирается, но отладка не стартует:

У>
17:40:32: Debugging starts
У>17:40:35: Debugging has finished
У>


У меня такое было. Было из-за того, что в тулсете не был задан дебаггер после переезда на новый комп. Qt под виндой понимает только CDB, как я понял, а CDB входит в состав Debugging Tools for Windows, входящие в Windows SDK. Нужно его персонально ставить из SDK
Re: Qt Creator что-то не компилит исходники и не отлаживает
От: Nikolaz Германия www.nikeware.com
Дата: 06.09.21 15:12
Оценка:
Здравствуйте, удусекшл, Вы писали:

У>Обычно работаю в вижуалке, но тут надо бы поотлаживать Qt проект, и вижуалка по внутренностям Qt не очень умеет показывать

Уж не помню деталей, если есть *.pdb файлы от Qt, то мне помогло вот Это (Tools > Options > Debugging > Symbols (or Debug > Options > Symbols)).
Наличие *.pdb файлов указывается при установке Qt. Они лежат в каталоге "С:\Qt\Qt5.8.0\5.8\msvc2015\bin" (путь будет разный, в зависимости от версии и места установки).
После настройки как описано выше, старта вышего приложения и попытки войти в какую-нибудь Qt функцию по F11 Студия попросит указать расположение cpp-файла, где эта функция расположена (что-то типа "С:\Qt\Qt5.8.0\5.8\Src\qtbase\src\widgets\kernel\qwidget.cpp").
Просто укажите ей, где этот файл находится.
В последующем она больше не будет спрашивать местоположение, в независимости от того, в какую функцию Вы будете пытаться "войти".
Отредактировано 06.09.2021 15:22 Nikolaz . Предыдущая версия .
Re[2]: Qt Creator что-то не компилит исходники и не отлаживает
От: удусекшл  
Дата: 06.09.21 16:13
Оценка:
Здравствуйте, Nikolaz, Вы писали:

N>Здравствуйте, удусекшл, Вы писали:


У>>Обычно работаю в вижуалке, но тут надо бы поотлаживать Qt проект, и вижуалка по внутренностям Qt не очень умеет показывать


N>Наличие *.pdb файлов указывается при установке Qt. Они лежат в каталоге "С:\Qt\Qt5.8.0\5.8\msvc2015\bin" (путь будет разный, в зависимости от версии и места установки).


Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать
Re[3]: Qt Creator что-то не компилит исходники и не отлаживает
От: Nikolaz Германия www.nikeware.com
Дата: 07.09.21 06:56
Оценка:
Здравствуйте, удусекшл, Вы писали:

У>Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать

А, понимаю, что Вы имеете ввиду. Сейчас уже точно не вспомню, но мне кажется, что Qt Creator Вам тоже мало что покажет. Даже наверное ещё хуже, чем Вижуал. Потому как в Qt Creator отвратнее и тормознутее отладчика я не встречал. Мнение сугубо личное, но я им пользоваться не смог. Это основная вещь в Qt Creator, которая мне больше всего противна в этой IDE.
Re[3]: Qt Creator что-то не компилит исходники и не отлаживает
От: SaZ  
Дата: 07.09.21 13:49
Оценка: +1
Здравствуйте, удусекшл, Вы писали:

У>Здравствуйте, Nikolaz, Вы писали:


N>>Здравствуйте, удусекшл, Вы писали:


У>>>Обычно работаю в вижуалке, но тут надо бы поотлаживать Qt проект, и вижуалка по внутренностям Qt не очень умеет показывать


N>>Наличие *.pdb файлов указывается при установке Qt. Они лежат в каталоге "С:\Qt\Qt5.8.0\5.8\msvc2015\bin" (путь будет разный, в зависимости от версии и места установки).


У>Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать


Qt addon раньше доставлял специальный файлик, который позволял вижловому отладчику нормально видеть все Qt типы. В принципе в вижле можно определить свои правила для отображения тех или иных типов. Что именно гуглить — не подскажу, потому что уже не помню. Начните с установки аддона.
Небольшое отступление: эта d-опа сделана специально для 1) реализации COW, 2) для бинарной совместимости между минорными версиями.
Re[4]: Qt Creator что-то не компилит исходники и не отлаживает
От: удусекшл  
Дата: 07.09.21 14:17
Оценка:
Здравствуйте, SaZ, Вы писали:

У>>Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать


SaZ>Qt addon раньше доставлял специальный файлик, который позволял вижловому отладчику нормально видеть все Qt типы. В принципе в вижле можно определить свои правила для отображения тех или иных типов. Что именно гуглить — не подскажу, потому что уже не помню. Начните с установки аддона.


Qt VS Tools стоят


SaZ>Небольшое отступление: эта d-опа сделана специально для 1) реализации COW, 2) для бинарной совместимости между минорными версиями.


Да я в курсе, для чего она. Но геморра от этого не меньше
Re[4]: Qt Creator что-то не компилит исходники и не отлаживает
От: Nikolaz Германия www.nikeware.com
Дата: 08.09.21 12:02
Оценка: 4 (1)
Здравствуйте, SaZ, Вы писали:

SaZ>Что именно гуглить — не подскажу, потому что уже не помню. Начните с установки аддона.

Оно?
Re[3]: Qt Creator что-то не компилит исходники и не отлаживает
От: B0FEE664  
Дата: 14.09.21 13:51
Оценка:
Здравствуйте, удусекшл, Вы писали:

N>>Наличие *.pdb файлов указывается при установке Qt. Они лежат в каталоге "С:\Qt\Qt5.8.0\5.8\msvc2015\bin" (путь будет разный, в зависимости от версии и места установки).


У>Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать

Умеет, только линковатся надо с debug версиями библиотек Qt. Т.е. это те же библиотеки Qt, но скомпилированные со включённым debug. При обычном наименовании последняя буква в имени библиотеки 'd', типа Qt5Cored.lib. Впрочем, для этих целей я всегда собирал Qt из исходников (debug и release) с использованием "родного" компилятора вижуалки, а что там у вас установлено — не знаю.
И каждый день — без права на ошибку...
Re[4]: Qt Creator что-то не компилит исходники и не отлаживает
От: удусекшл  
Дата: 14.09.21 14:37
Оценка:
Здравствуйте, B0FEE664, Вы писали:

У>>Проблема не в PDB — это всё настроено. Проблема в том, что почти у всех объектов Qt все данные лежат в какой-то заднице, на которую показывает указатель d, и вижуалка не умеет это всё нормально показывать

BFE>Умеет, только линковатся надо с debug версиями библиотек Qt. Т.е. это те же библиотеки Qt, но скомпилированные со включённым debug. При обычном наименовании последняя буква в имени библиотеки 'd', типа Qt5Cored.lib. Впрочем, для этих целей я всегда собирал Qt из исходников (debug и release) с использованием "родного" компилятора вижуалки, а что там у вас установлено — не знаю.

Я меня всё стоит — и мингв, и вижуальская версия, релиз/дебаг x86/x64. Линкуется тоже нужное (*d из соотв. установки).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.