Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение под *NIX системы > сборка статической Qt


Автор: gordmiand 18.7.2013, 15:28
Из Qt-папки Qt_4.6.1/qt (где лежит файлик configure) даю команду
Код

./configure -static -prefix /home/dima/Qt_4.6.1/Qt_static

На одном компьютере через некоторое время выдается ошибка
Код

 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/user/qtsdk-2010.01/qt/mkspecs/linux-g++.

Содержимое файла qmake.conf из вышеуказанной папки linux-g++:
Код

#
# qmake configuration for linux-g++
#
MAKEFILE_GENERATOR    = UNIX
TEMPLATE        = app
CONFIG        += qt warn_on release incremental link_prl
QT            += core gui
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/g++.conf)
include(../common/linux.conf)
load(qt_config)

И как его надо редактировать?

На другом компьютере вышеуказанная команда вроде нормально проходит, заканчивается сообщением:
Код

Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /home/dima/Qt_4.6.1/Qt_static
To reconfigure, run 'make confclean' and 'configure'.

Даю команду make, которая, поработав достаточно долгое время, заканчивается сообщением: 
Код

In file included from ../../include/QtGui/private/qt_x11_p.h:1:0,
 from kernel/qapplication.cpp:77:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:102:37: фатальная ошибка: X11/extensions/XInput.h: Нет такого файла или каталога
компиляция прервана.
make[1]: *** [.obj/release-static/qapplication.o] Ошибка 1
make[1]: Выход из каталога `/home/dima/Qt_4.6.1/qt/src/gui'
make: *** [sub-gui-make_default-ordered] Ошибка 2

Как это исправить?
Операционка - Ubuntu 12.0.4., Qt SDK 4.6.1

Автор: bilbobagginz 19.7.2013, 20:11
если обе системы одинаковые по версии, я бы сравнил список пакетов 
на первом:
Код

dpkg -l > machineX.packages

на втором:
Код

dpkg -l > machineY.packages

потом посмотрел бы на разницу на каком-то из них:
Код

vimdiff machine{X,Y}.packages

(ессно можно использовать свой любимый diff tool)
т.е. 
думаю у тебя на одном из них есть какой нибудь пакетик, которого на другом нету.


Автор: gordmiand 19.7.2013, 21:15
установил несколько библиотек  libx11-dev, libxinerama-dev, libxi-dev, libxext-dev и уперся в ошибку
Код

In file included from ../../include/QtGui/private/qgtkstyle_p.h:1:0, 
from kernel/qguiplatformplugin.cpp:63: 
../../include/QtGui/private/../../../src/gui/styles/qgtkstyle_p.h:65:21: фатальная ошибка: gtk/gtk.h: Нет такого файла или каталога 
компиляция прервана. 

установил библиотеки  libgtk-3-dev, libgtk2.0-dev - не помогло...так как подключить этот gtk? 

Автор: gordmiand 20.7.2013, 20:21
мне в принципе этот gtl не нужен...как тогда мне собрать статическую версию кутей без gtk?
уже пробовал сконфигурировать систему и без этого gtk:
Код

./configure -static -release -no-gtkstyle -prefix /home/Qt4.6/Qt_static

все равно на команде makе требует gtk.h....

Автор: gordmiand 23.7.2013, 15:45
Вроде поставил этот gtk (папка /usr/include/gtk-3.0/gtk).
В файле /home/Qt_4.6.1/qt/src/gui/styles/qgtkstyle_p.h (на нем останавливается make сборки статики) вместо #include <gtk/gtk.h> написал #include </usr/include/gtk-3.0/gtk/gtk.h> - теперь make не находит ни один из файлов, подключенных в gtk.h — #include <gdk/gdk.h> и др., хотя они есть в папке /usr/include/gtk-3.0/gdk...что делать? И вообще, я же задавал ключ -no-gtkstyle в команде configure — так почему же этот make требует gtk?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)