Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: carhun от Май 22, 2012, 16:40



Название: Сборка Qt из сходников, подмена существующего Qt
Отправлено: carhun от Май 22, 2012, 16:40
Добрый день.

Задача состоит в след.: собрать Qt с исходников и заставить в проекте использовать заместь уже установленного Qt либы, к-ые я собрал с исходников.

Собственно, как я делаю:
1. Компилю исходники:
 1.1. ./configure
 1.2. make
 1.3. sudo make install ( правда тут в конце оно ругается, хотя все либы вроде как собрало. Ошибку, к-ую пишет см. ниже ).
2. После компилиции исходников, включаю QtCteator. ДАлее захожу в Tools->Options->Build&Run->Qt Versions ->Add далее выбираем qmake, к-ый находится в папке с исходками Qt (qt-everywhere-opensource-src-4.8.1) в папке bin.
И тут оно не хочет его добавлять и пишет приблизительно следующее: The default mkspec symlink is broken.

Как с этим бороться? + я так понимаю, когда я сделаю этот пункт, то собранный мною Qt qmake подтянет сам при компиляции проекта...? А, ну, да... в Projects еще указываем Qt Version, к-ую мы добавили в пункте 2.

Ошибка:
Код:
make[4]: Entering directory `~/Projects/qt-everywhere-opensource-src-4.8.1/examples/declarative/touchinteraction/gestures/experimental-gestures'
~/Downloads/qt-everywhere-opensource-src-4.8.1/bin/qmake -spec ../../../../../mkspecs/linux-g++-64 -o Makefile.experimentalgestures experimentalgestures.pro
make[4]: ~/Downloads/qt-everywhere-opensource-src-4.8.1/bin/qmake: Command not found
make[4]: *** [Makefile.experimentalgestures] Error 127
make[4]: Leaving directory `~/Projects/qt-everywhere-opensource-src-4.8.1/examples/declarative/touchinteraction/gestures/experimental-gestures'
make[3]: *** [sub-gestures-experimental-gestures-experimentalgestures-pro-install_subtargets] Error 2
make[3]: Leaving directory `~/Projects/qt-everywhere-opensource-src-4.8.1/examples/declarative/touchinteraction'
make[2]: *** [sub-touchinteraction-install_subtargets] Error 2
make[2]: Leaving directory `~/Projects/qt-everywhere-opensource-src-4.8.1/examples/declarative'
make[1]: *** [sub-declarative-install_subtargets] Error 2
make[1]: Leaving directory `~/Projects/qt-everywhere-opensource-src-4.8.1/examples'
make: *** [sub-examples-install_subtargets-ordered] Error 2

Спасибо за внимание. Надеюсь на помощь...


 


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Mikhail от Май 22, 2012, 18:27
А пути ктобудет устанавливать?
Почитай пунк 4 из http://qt-project.org/doc/qt-4.8/install-x11.html


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Alex Custov от Май 22, 2012, 22:04
Обнови Qt из репозиториев


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: carhun от Май 23, 2012, 11:03
А пути ктобудет устанавливать?
Почитай пунк 4 из http://qt-project.org/doc/qt-4.8/install-x11.html

Не помогло, все равно когда я в QtCreator'e указываю qmke в настройках, то оно пишет: The default mkspec symlink is broken.

По поводу обнови через репо, то меня это не устраивает, т.к. мне надо заиспользовать с моим патчем, что я написал....


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: DmitryM от Май 23, 2012, 15:20
По поводу обнови через репо, то меня это не устраивает, т.к. мне надо заиспользовать с моим патчем, что я написал....
Качаешь исходники пакета в виде *.src.rpm/*src.deb добавляешь в спек файл свой патч и собираешь нормальный пакет.
или в ./configure отключи example и попробуй собрать заново.


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Mikhail от Май 23, 2012, 18:45
Так по какому пути у тебя Qt?
 По
~/Projects/qt-everywhere-opensource-src-4.8.1
или
~/Downloads/qt-everywhere-opensource-src-4.8.1


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: carhun от Май 24, 2012, 09:02
по первому вроде как... то я вначале пробывал сразу в Downloads собирать, а потом я пернес в Projects и там собирал уже...

Сделал все с начала, перекинул в Projects и оно вроде как собралось и работает...

А не подскажите как теперь сделать так, что бы если я там хочу активно что-то свое доделывать/переделывать в исходниках, что бы постоянно не пересобирать полностью все ?


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Mikhail от Май 24, 2012, 17:48
если я там хочу активно что-то свое доделывать/переделывать в исходниках, что бы постоянно не пересобирать полностью все ?

Значит тебе пора устраиваться в нокию разработчиком Qt.

Но я не верю


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Mikhail от Май 24, 2012, 17:49
Или ты так сумбурн выражаешься, что я тебя не понимаю


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: Alex Custov от Май 24, 2012, 18:45
А не подскажите как теперь сделать так, что бы если я там хочу активно что-то свое доделывать/переделывать в исходниках, что бы постоянно не пересобирать полностью все ?

Не очищать дерево сборки, тогда второй запуск make пересоберёт только те исходники, что изменились. Если не секрет, какие изменения потребовались в Qt?


Название: Re: Сборка Qt из сходников, подмена существующего Qt
Отправлено: carhun от Май 25, 2012, 09:23
А не подскажите как теперь сделать так, что бы если я там хочу активно что-то свое доделывать/переделывать в исходниках, что бы постоянно не пересобирать полностью все ?

Не очищать дерево сборки, тогда второй запуск make пересоберёт только те исходники, что изменились. Если не секрет, какие изменения потребовались в Qt?

Просто я думал, что вот пункт меню с доков надо делать всегда... Вот этот, поэтому и спросил:
Код:
Замечание: Если позднее вам нужно будет переконфигурировать и пересобрать Qt, в том же расположении, обеспечьте гарантию, что все следы прошлой конфигурации удалены, для этого перейдите в каталог сборки и введите make confclean перед повторным запуском configure.

А по поводу того зачем мне надо это. По сути для себя, т.к. стало интересно почему треугольник перестал отрисовываться ( вот собственно в этой теме я спрашивал http://www.prog.org.ru/topic_21989_0.html )... НУ, и как бы если это не мой баг, то было бы интересно его исправить. Вот поэтому собственно и спрашивал...