Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: xokc от Июль 04, 2012, 12:44



Название: Исходники Qt в linux [Решено]
Отправлено: xokc от Июль 04, 2012, 12:44
Linux Mint 13, Qt 4.8.1
В линуксе не силён, но волею судеб пришлось столкнуться. Установил QtCreator 2.5.0 из ppa, Qt 4.8.1 из репозитариев дистрибутива. Всё вроде бы работает - компилируется и запускается, но вот исходников Qt не вижу ни я, ни QtCreator. Теперь ни отладчиком внутрь Qt классов "провалиться" не могу, ни из редактора кода не могу попасть из описания Qt класса к его реализации. Как мне установить исходники именно тех библиотек, которые были установлены из репозитариев?


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 04, 2012, 12:54
Пакеты с исходниками обычно содержат "src" в наименовании. Посмотрите в синаптике. Должны быть такие.


Название: Re: Исходники Qt в linux
Отправлено: ecspertiza от Июль 04, 2012, 13:03
Может их лучше скачать с сайта нокии ? ftp://ftp.qt.nokia.com/qt/source/ Скачать нужные исходники да собрать, и подключить к проекту


Название: Re: Исходники Qt в linux
Отправлено: maint от Июль 04, 2012, 13:23
если пакет стандартный то /usr/lib/qt4 каталог со всякой лабудой и исходниками.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 13:49
Пакеты с исходниками обычно содержат "src" в наименовании. Посмотрите в синаптике. Должны быть такие.
Нет там ничего похожего

Может их лучше скачать с сайта нокии ? ftp://ftp.qt.nokia.com/qt/source/ Скачать нужные исходники да собрать, и подключить к проекту
Этот вариант тоже рассматривался, но:
1. Откуда мне знать, что бинарники библиотек Qt получены именно из этих исходников без применения каких-либо патчей, характерных для конкретного дистрибутива?
2. Куда именно их нужно положить, чтобы и GDB и QtCreator их правильно подхватили?

если пакет стандартный то /usr/lib/qt4 каталог со всякой лабудой и исходниками.
Лабуды там действительно достаточно, но папки src нет.


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 04, 2012, 14:07
Нет там ничего похожего
Подключите репозитории пакетов с исходниками через тот же синаптик.


Название: Re: Исходники Qt в linux
Отправлено: ecspertiza от Июль 04, 2012, 14:31
Этот вариант тоже рассматривался, но:
1. Откуда мне знать, что бинарники библиотек Qt получены именно из этих исходников без применения каких-либо патчей, характерных для конкретного дистрибутива?
2. Куда именно их нужно положить, чтобы и GDB и QtCreator их правильно подхватили?

Патчей для дистров скорее всего не будет, если и добавляли что то для этих либ то только пути при сборке. Конечно 100% гарантию не даю, но у нас проект работает таким образом, и вроде пока проблем не было.
Сорцы можешь положить куда удобно, только в креаторе путь к qmake этих сырцов укажи и все.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 15:01
Подключите репозитории пакетов с исходниками через тот же синаптик.
Вот примерно такого ответа я и ждал :). Осталось только понять как это всё-таки сделать. Можно и через командную строку рассказать - справлюсь и там. :)

Сорцы можешь положить куда удобно, только в креаторе путь к qmake этих сырцов укажи и все.
В QtCreator указывается путь к qmake, находящемуся в папке bin. Тут что-то другое имелось в виду?


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 04, 2012, 15:22
Вот примерно такого ответа я и ждал :). Осталось только понять как это всё-таки сделать. Можно и через командную строку рассказать - справлюсь и там. :)
Если после подключения репов с исходниками соответствующих пакетов не появилось, значит их нет. Либо в ppa искать, либо следовать совету ecspertiza.


Название: Re: Исходники Qt в linux
Отправлено: Alex Custov от Июль 04, 2012, 15:26
Вот примерно такого ответа я и ждал :). Осталось только понять как это всё-таки сделать. Можно и через командную строку рассказать - справлюсь и там. :)

в /etc/apt/sources.list

для каждой записи вида "deb <URL> ..." добавь запись вида "deb-src <URL> ...". Например

Код:
deb http://ftp.by.debian.org/debian squeeze main # было
deb-src http://ftp.by.debian.org/debian squeeze main # добавили

после чего aptitude update. Теперь можно сделать apt-get source libqt4-dev


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 15:41
для каждой записи вида "deb <URL> ..." добавь запись вида "deb-src <URL> ...". Например
А как теперь узнать из какого именно репозитария установился Qt?


Название: Re: Исходники Qt в linux
Отправлено: ecspertiza от Июль 04, 2012, 15:56
В QtCreator указывается путь к qmake, находящемуся в папке bin. Тут что-то другое имелось в виду?

Ну по сути да в bin, только не в тот bin что /usr/bin ,а тот bin что Qt_SOURCE/bin :) И все, какие исходники\либы используются зависит от qmake, если подключишь qmake из папки с исходниками то и при сборке будут использоваться эти исходники.


Название: Re: Исходники Qt в linux
Отправлено: Alex Custov от Июль 04, 2012, 16:05
для каждой записи вида "deb <URL> ..." добавь запись вида "deb-src <URL> ...". Например
А как теперь узнать из какого именно репозитария установился Qt?

Он же пишет из какого репозитория качает?


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 16:15
Не хотел добавлять deb-src ко всем репозитариям. Но вроде вычислил. Похоже процесс близок к завершению: качает 240 МБ - проклятая yota со своим еле дышащим LTE скоро в гроб загонит.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 17:38
Что-то я не понял. Скачалось, установилось, распаковалось, наложило кучу патчей - но КУДА РАСПАКОВАЛОСЬ? В /usr/lib/qt4 ничего нового не появилось, QtCreator так ничего и не видит.
Вот вывод apt-get source libqt4-dev:
Код:
dpkg-source: инфо: извлечение qt4-x11 в qt4-x11-4.8.1
dpkg-source: инфо: распаковывается qt4-x11_4.8.1.orig.tar.gz
dpkg-source: инфо: распаковывается qt4-x11_4.8.1-0ubuntu4.1.debian.tar.gz
dpkg-source: инфо: накладывается kubuntu_30_translucent_drag_pixmap.diff
dpkg-source: инфо: накладывается Add_support_for_QT_USE_DRAG_DISTANCE_env_var.patch
и т.д.
Что делать дальше?


Название: Re: Исходники Qt в linux
Отправлено: Alex Custov от Июль 04, 2012, 17:40
в текущий каталог. Что с этим делать дальше я не знаю, уже давно не пользовался дебагером, может кто-то подскажет.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 17:59
Нашел-таки. Распаковалось сюда /etc/apt/qt4-x11-4.8.1
Как теперь QtCreator объяснить, где искать исходники?


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 04, 2012, 18:12
В QtCreator в настройках отладчика есть кнопка "Добавить исходники Qt". При выборе в качестве "Пути назначения" /etc/apt/qt4-x11-4.8.1/src в поле "Исходный путь" подставляется /var/tmp/qt-src, но ничего полезного в решении проблемы это не даёт.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 05, 2012, 08:28
Ну это ж клиника полная. Как вы в этом линуксе разработкой занимаетесь, если всё время уходит непонятно на что?
Куда только не помещал уже эти исходники, что только в креаторе не прописывал - не видит он их. Специально же делал всё как полагается - устанавливал из репозитариев, типа unix way. Надо было сразу как в винде с с нокиевского сайта установщик скачать и забыть обо всём.


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 05, 2012, 08:54
Ну это ж клиника полная. Как вы в этом линуксе разработкой занимаетесь, если всё время уходит непонятно на что?
Вы пошли не в ту сторону.

Куда только не помещал уже эти исходники, что только в креаторе не прописывал - не видит он их.
Ну и ладно.

Специально же делал всё как полагается - устанавливал из репозитариев, типа unix way.
Понятие unix way о другом.

Надо было сразу как в винде с с нокиевского сайта установщик скачать и забыть обо всём.
Да. Если Вы не являетесь майнтейнером пакетов для LinuxMint (иначе бы уже справились с проблемой), и если готовых пакетов нет, то просто берите оригинал исходников. Скорее всего они не включены в состав, просто потому что незачем.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 05, 2012, 09:35
Куда только не помещал уже эти исходники, что только в креаторе не прописывал - не видит он их.
Ну и ладно.
Да как ладно-то? Вы на исходники Qt вообще не смотрите при разработке что-ли? Или регулярно из описания класса ищите в файловом файловом менеджере файл с его реализацией, и тоже самое делаете при желании потрассировать в отладчике что же происходит в внутри Qt классов?

Специально же делал всё как полагается - устанавливал из репозитариев, типа unix way.
Понятие unix way о другом.
Я прекрасно осведомлён, что такое unix way. Признаюсь, выразился неудачно, но я думаю понятно, что именно имелось в виду. В том числе на этом форуме неоднократно высказывалась мысль, что "кошерный" способ установки чего-бы то ни было в линуксе - использование репозитария, а не скачивание установщиков.


Да. Если Вы не являетесь майнтейнером пакетов для LinuxMint (иначе бы уже справились с проблемой), и если готовых пакетов нет, то просто берите оригинал исходников.
Дак ведь есть исходники-то! Их как раз удалось развернуть, только дебагер их не видит.

Скорее всего они не включены в состав, просто потому что незачем.
И про отсутствие необходимости исходного кода основного разработческого фреймворка  мне говорит пользователь опенсоурсной ОС - куда катится мир?

Короче, вижу тема скатывается во флуд, посему конкретизирую вопросы:
1. Как подключить скачанные исходники Qt к QtCreator для возможности переключения внутри IDE из файла qwidget.h в файл qwidget.cpp (клавиша F4) и для возможности в режиме отладки проникновения внутрь конструктора QWidget (клавиша F11)?
2. Если на первый вопрос разумного ответа нет, тогда как для этого "кошерно" установить Qt:
    a) из репозитариев
    б) скачать установщик QtSDK
    в) скачать исходники с сайта нокии, распаковать (кстати, куда? и нужны ли патчи?) и самому скомпилировать?


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 05, 2012, 09:41
Да как ладно-то? Вы на исходники Qt вообще не смотрите при разработке что-ли? Или регулярно из описания класса ищите в файловом файловом менеджере файл с его реализацией, и тоже самое делаете при желании потрассировать в отладчике что же происходит в внутри Qt классов?
Исходники использую.

Я прекрасно осведомлён, что такое unix way. Признаюсь, выразился неудачно, но я думаю понятно, что именно имелось в виду. В том числе на этом форуме неоднократно высказывалась мысль, что "кошерный" способ установки чего-бы то ни было в линуксе - использование репозитария, а не скачивание установщиков.
Верно, если есть решение в пакетах.

Дак ведь есть исходники-то! Их как раз удалось развернуть, только дебагер их не видит.
М-м-м... вот как

И про отсутствие необходимости исходного кода основного разработческого фреймворка  мне говорит пользователь опенсоурсной ОС - куда катится мир?
Вы поторопились с выводом, такого я нигде не утверждал.


Название: Re: Исходники Qt в linux
Отправлено: ecspertiza от Июль 05, 2012, 09:42
1. Как подключить скачанные исходники Qt к QtCreator для возможности переключения внутри IDE из файла qwidget.h в файл qwidget.cpp (клавиша F4) и для возможности в режиме отладки проникновения внутрь конструктора QWidget (клавиша F11)?

У меня это и в винде не работает  ;D В исходники Qt лажу редко, только если баги непонятные возникают, так что теперь тоже стало интересно как это сделать, хоть и редкая необходимость посмотреть реализацию Qt классов,но возникает.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 05, 2012, 09:52
Исходники использую.
Давайте еще раз. Используете, в том же режиме как я и хочу, или как-то по-другому? Я просто хочу понять это у меня что-то не работает или я просто не ту парадигму программирования в линуксе пытаюсь использовать?

У меня это и в винде не работает  ;D
Ну не знаю. У меня в винде ни MinGW, ни c Visual Studio в этом плане никогда проблем не было.


Название: Re: Исходники Qt в linux
Отправлено: ecspertiza от Июль 05, 2012, 09:55
Ну не знаю. У меня в винде ни MinGW, ни c Visual Studio в этом плане никогда проблем не было.

А под виндой из SDK работаешь ? Я просто обычно качаю просто либы и собираю их, подключаю к креатору, так как то спокойнее что ли  :)


Название: Re: Исходники Qt в linux
Отправлено: alexis031182 от Июль 05, 2012, 10:00
Давайте еще раз. Используете, в том же режиме как я и хочу, или как-то по-другому? Я просто хочу понять это у меня что-то не работает или я просто не ту парадигму программирования в линуксе пытаюсь использовать?
Использую просто SDK с офф сайта. Всё подключается само. Получается этакая разработка в песочнице, неконфликтное сосуществование с пакетами Qt дистрибутива.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 05, 2012, 10:17
А под виндой из SDK работаешь ? Я просто обычно качаю просто либы и собираю их, подключаю к креатору, так как то спокойнее что ли  :)
Нет. И качал либы сам и собирал их из исходников - всё работало "из коробки".

Использую просто SDK с офф сайта
Пошёл SDK качать.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Июль 05, 2012, 14:14
Установил Qt SDK. Добавилась ещё одна папка с Qt 4.8.1, QtCreator 2.4.1, еще один профиль в самом креаторе, но в целом ничего не поменялось - как не работало, так и не работает. Качаю исходники библиотеки и буду компилировать самостоятельно, если и так не заработает - впору застрелиться и больше к линуксу не прикасаться.


Название: Исходники Qt в linux [РЕШЕНО]
Отправлено: xokc от Июль 06, 2012, 08:12
Линуксу повезло - самостоятельно скомпилированная Qt замечательно подключилась. Не прошло и 3 дней исканий и метаний :).
Как тут темы переименовывать - хочу слово РЕШЕНО в названии темы дописать?


Название: Re: Исходники Qt в linux
Отправлено: QuAzI от Октябрь 15, 2012, 17:03
Ты ж напиши людям, как линковал, что куда ложил, а то я вот думаю надо бы под лялехом попробовать поработать, да геммор с теми же исходниками на фре троху не понравился.


Название: Re: Исходники Qt в linux
Отправлено: xokc от Октябрь 15, 2012, 19:08
Да как-то оно всё само сделалось. Распаковал архив с исходниками, сконфигурировал, запустил make - получил скомпилированную Qt. Указал в QtCreator путь к qmake и теперь пользуюсь. Иногда.