Russian Qt Forum
Ноябрь 25, 2024, 05:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Навигация по исходникам Qt  (Прочитано 9395 раз)
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.06 секунд. Запросов: 23.