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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему работает после установки новой сборки?  (Прочитано 4968 раз)
patison
Гость
« : Август 14, 2010, 13:52 »

Друзья, такой вопросик возник.
Понадобилось собрать статически qt (к этому моменту уже стояла обычная/динамическая сборка).
Следуя инструкции, сконфигурировал сборку qt на static с префиксом нового пути (динамич версия находилась в /usr/local/Trolltech/Qt4.6.2) - /usr/local/Trolltech/Qt4.6.2_static .
Так получилось, что в корне было мало места, потому оригинал сборки пришлось переместить в другое место.
В результате получил статичную сборку в /usr/local/Trolltech/Qt4.6.2_static.
Переменную $PATH не менял (остался путь к старой папки , которую я временно перенёс в другое место). Запускаю Creator, собираю проект - работает.  Причём собирает не статически.

Вопрос - почему работает??

зы есть подозрение что сборка находится где-то в другом месте, но тогда не понятно почему в $PATH нет ничего в этом плане.
ззыы смутило так-же то, что динамич сборка занимала два гига с чем-то, а новая статическая - всего триста метров с небольшим.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Август 14, 2010, 20:54 »

А кто кроме тебя может изменить $PATH ?
Какая Qt используеться в твоем QtCeator ?
Вообще то для компиляции Qt необходимо установить QTDIR, откорректировать $PATH и только после этого проводить компиляцию, к тому же чистых исходников без Makefile-оф
Записан
patison
Гость
« Ответ #2 : Август 15, 2010, 01:51 »

Секундочку. Вообще-то по логике если изменить имя папки куда всё установлено (в моём случае - старую перенёс и новую поставил) - компиляция и линковка не должно проводиться и должна по логике выдаваться ошибка. Тем более что ни QTDIR ни PATH я не менял.

Цитировать
Какая Qt используеться в твоем QtCeator ?
А хз. Где посмотреть можно?
По идее qt.4.6.2
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #3 : Август 15, 2010, 21:51 »

Поподробнее пожалуйста.
Каким инструкция следовал?
Конфигурировал и компилировал чисто исходники или предыдущую сборку?
Остались ли предыдущие Makefile-ы?
Откомпилированную программу запускал из QtCreator или из консоли?
Записан
patison
Гость
« Ответ #4 : Август 16, 2010, 23:48 »

 - Следовал инструкциям отсюда - http://prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_Qt_%D0%B2_Linux
 - Конфигурировал и компилил сборку которую скачивал раньше.
 - ПО поводу предыдущих makefile-ов не уверен. Но перед сборкой делал make confclean.
 - Программу компилил, собирал и запускал прямо из QtCreator-a.

зы сейчас осенило посмотреть откуда запускается QtCreator (на тулбаре создавал launcher). Запускается из папочки qtsdk. В этой папочке лежат папки bin/ lib/ и тд . В lib-e что интересно - *.so файлы.
Вспомнил что когда-то качал с сайта SDK для linux. И видимо из него и запускается всё (отсюда и библиотеки берутся). Только вот не понятно в этом случае - как сделать что-бы собирались приложения статически! Т.к. насколько я помню - скачав sdk я его не конфигурировал и не собирал. Просто начал юзать QtCreator из коробки, так сказать...
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #5 : Август 17, 2010, 08:26 »

sdk не конфигурируется и не собирается. Там уже все в бинарниках.

Чтобы откомпилировать Qt статичски или динамически делай ВСЕ по той инструкции.

Для начала скачайте исходные коды Qt и распакуйте их.
Убедитесь, что динамическая версия Qt не установлена. Если она установлена, для начала прочтите раздел "Подсказки".
Откройте консоль и перейдите в директорию с исходным кодом Qt.

и далее по тексту инстукции.

Я так и не понял о какой сборке вы говорите. Я так понял, что это не исходники.
Записан
crossly
Гость
« Ответ #6 : Август 17, 2010, 11:41 »

скажите qtcreator какую либу использовать для сборки.... и все...
Записан
patison
Гость
« Ответ #7 : Август 17, 2010, 12:10 »

Цитировать
sdk не конфигурируется и не собирается. Там уже все в бинарниках.
Ну вот собсна и ответ, я думаю.

А как быть в случае когда на машине уже лежит готовы sdk с creator-ом? Я могу скачать исходы qt, скомпилить статически, а потом скачать отдельно QtCreator , и он будет работать с этими статически собранными либами?

crossly
Каким образом? В настройках искал - ничё не нашёл.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #8 : Август 17, 2010, 12:29 »

Будет работать несомненно. Главное правильно скомпилировать Qt из исходников и в QtCreator выбрать. Смотри Инструменты-Параметры-Qt4 нажми + и укажи путь до qmake ( в каталоге bin ) нужной Qt. Все новые проекты будут использовать это умолчание. Изменить Qt для проекта -  при открытом проекте нажать кнопку Проекты и изменить Профиль Qt по нажатии кнопки Управление. При изменении Профиля Qt для проекта необходимо его очистить и удалить мэйлфайлы. Затем можно компилировать.
Записан
patison
Гость
« Ответ #9 : Август 17, 2010, 12:41 »

Спасибо, Михаил.
Т.к. Qt я уже собирал статически (см первые сообщения), то мне осталось только прописать путь до нужного qmake. Пересобрал проект, бинарник из 600кб превратился в 12мб , что означает что собрался он статически =))
Правда теперь вылезли мелкие траблы.. Например в трее не отображаюся картинки, которые находятся в ресурсах проекта.. Но это, думаю, поправимо. Пойду искать решение.
Записан
crossly
Гость
« Ответ #10 : Август 17, 2010, 15:14 »

возможно забыл вкомпилировать поддержку форматов изображений в Qt.....
Записан
patison
Гость
« Ответ #11 : Август 17, 2010, 20:40 »

Нее.. не забыл:

Код:
./configure -static -prefix /usr/local/Trolltech/Qt-4.6.2_static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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