Russian Qt Forum
Мая 04, 2025, 08:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Навигация по исходникам Qt  (Прочитано 9665 раз)
raserg
Гость
« : Ноября 13, 2015, 17:30 »

Как сделать чтобы в QtCreator при нажатии F4 например при открытом qwidget.h открывался qwidget.cpp   ?
Ну и при нажатии мыши+ctrl на функции в .h файле открывалась реализация из .cpp

Речь именно о файлах библиотеки Qt, для файлов проекта всё работает.

Исходники выбраны при установке и в папке c:\Qt\Qt5.5.0\5.5\Src\ присутствуют.

Вообще не могу понять почему это не работает "из коробки", ладно на линуксе не заработало, можно списать на специфику какую нибудь и недостаток внимания к этой платформе, но почему не работает на винде??
« Последнее редактирование: Ноября 14, 2015, 08:31 от raserg » Записан
raserg
Гость
« Ответ #1 : Ноября 14, 2015, 08:33 »

Что никто никогда не смотрит исходники Qt ??
И при отладке тоже в функции Qt не лезете ?? При отладке то тоже не открывает.
Или это только у меня не работает?
« Последнее редактирование: Ноября 14, 2015, 08:37 от raserg » Записан
Vamireh
Гость
« Ответ #2 : Ноября 14, 2015, 09:19 »

Добавить все эти файлы в проект?
Записан
raserg
Гость
« Ответ #3 : Ноября 14, 2015, 12:04 »

Добавить все эти файлы в проект?
О, хоть какой-то вариант, благодарю.
Добавил все .cpp из qtbase. Навигация по тем исходникам которые мне надо на данный момент заработала, если чего не хватит можно ещё другие модули добавить, пусть не очень удобно, но допустимо.

Но собрать проект со всеми этими подключёнными исходниками пока не удалось, оно сначала что-то там долго по ним шуршит что уже не удобно, потом показывает ошибки, ну я удаляю эти cpp на которые указывает, но при следующей попытке находит новые ошибки в оставшихся. Видится мне что это надолго. Мне не нужен весь этот секс.

Должно быть какое-то более простое решение.
« Последнее редактирование: Ноября 14, 2015, 12:23 от raserg » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Ноября 14, 2015, 12:31 »

Что никто никогда не смотрит исходники Qt ??
И при отладке тоже в функции Qt не лезете ??

Неа Улыбающийся как то не нужно.

Но у меня простой вопрос - а pdb файлы присктствуют? Их отладчик видит?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Ноября 14, 2015, 12:59 »

Цитировать
Что никто никогда не смотрит исходники Qt ??

Лично я использую Notepad.exe и поиск в TotalCommander Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
raserg
Гость
« Ответ #6 : Ноября 14, 2015, 13:34 »

Что никто никогда не смотрит исходники Qt ??
И при отладке тоже в функции Qt не лезете ??

Неа Улыбающийся как то не нужно.

Но у меня простой вопрос - а pdb файлы присктствуют? Их отладчик видит?

А вот в винде кстати отладчик зарабатал, всмысле заходит в исходники, это радует. В линуксе не заходит, ну и ладно(
« Последнее редактирование: Ноября 14, 2015, 13:38 от raserg » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Ноября 15, 2015, 00:00 »

Эта проблема существует только для Qt5.х, т.к. Исходники лежат не там где заголовочники.
С Qt4 такой проблемы нет.

Надо пинать авторов Креатора и Qt, пусть они голову ломают.

В качестве костыля:
открой в креаторе нужный тебе CPP-файл, тогда по F2 он будет будет на него прыгать, т.е. по открытым файлам он таки может ходить, но вот найти их на диске он не может.
« Последнее редактирование: Ноября 15, 2015, 00:02 от lit-uriy » Записан

Юра.
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #8 : Ноября 15, 2015, 09:52 »

Всё несколько проще. В этом окне (см. вложение) жмете кнопку "Добавить исходники Qt…", указываете папку, где они фактически находятся, и... Собственно всё. По F4, правда, сами по себе h/cpp не переключаются, но в отладчике, вполне себе по F11 внутрь исходника проваливается, как и при exception. Работает как в windows, так и в Linux. Кстати, в Windows, если исходники ставились стандартным инсталятором, то такое поведение у меня прямо "из коробки".
« Последнее редактирование: Ноября 15, 2015, 10:31 от xokc » Записан
raserg
Гость
« Ответ #9 : Ноября 16, 2015, 15:57 »

Всё несколько проще. В этом окне (см. вложение) жмете кнопку "Добавить исходники Qt…", указываете папку, где они фактически находятся, и... Собственно всё. По F4, правда, сами по себе h/cpp не переключаются, но в отладчике, вполне себе по F11 внутрь исходника проваливается, как и при exception. Работает как в windows, так и в Linux. Кстати, в Windows, если исходники ставились стандартным инсталятором, то такое поведение у меня прямо "из коробки".


Не заработало это в линуксе. Отладчик показывает hex коды в том месте где  под виндой открывает cpp
Гугление подсказывает что перекомпиляция qt это решает, но я неосилил(или инструкции неверные или руки кривые, но у меня пересборка проблему не решила), да и проще в виртуалбоксе отладить иногда, чем мучаться с пересборкой, пусть неудобно, но понятно как сделать.
« Последнее редактирование: Ноября 16, 2015, 16:02 от raserg » Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #10 : Января 16, 2016, 22:08 »

Кстати, понадобилось вот снова подебажить бету Qt 5.6.0. И выяснилось, что стандартная фича QtCreatora по маппингу исходников Qt уже не работает. Но некоторые "изыскания" по этому поводу проблему всё-же решили. Теперь правильный путь родных исходников выглядит как "c:/users/qt/work/qt"/ а не "C:/work/build/qt5_workdir/w/s" как раньше.
То есть сейчас моё окно с настройками дебагера выглядит так (вложение). И всё нормально дебажится.
Не заработало это в линуксе.
Может и в линуксе нужно просто правильный путь отмапить. Я просто посмотрел на содержимое Qt5Cored.dll и поискал в нём строку вида "C:\"...
« Последнее редактирование: Января 16, 2016, 22:12 от xokc » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.027 секунд. Запросов: 19.