LINUX.ORG.RU

Собрал Qt 4.5.3. Несглаженные шрифты, рваные иконки, кракозябры вместо русских букв в стандартных демопримерах.


0

0

Здравствуйте!


Потребовалась тут мне библиотека Qt, причем версии 4.5.3. Взял я ее с сайта Нокии ( ftp://ftp.qt.nokia.com/qt/source/qt-all-opensource-src-4.5.3.tar.gz ). Мой дистрибутив - Debian Lenny со всеми обновлениями, локаль UTF-8.

Закомпилил Qt командами:

./configure -prefix /opt/qt_4_5_3
make
make install

Все собралось. Закомпилил с помощью этой вновь собраной библиотеки свою программу. И мне стало страшно. Вот что получилось (картинка отдается секунд 20):

http://62.149.5.84.nyud.net/i4/6e/96/88337b9e40893fb45a9aad57015f.png

Я решил посмотреть, как выглядят демопримеры, которые идут в комплекте с этим Qt (каталог /opt/qt_4_5_3/demos). В них та же самая ситуация - несглаженные шрифты, иконки с рваными краями, пунктирные прямоугольники вместо русских букв. Вот скриншот:

http://62.149.5.84.nyud.net/i4/b1/af/43dbccf8c877f6f49f2ce4c0e4b5.png


Вопрос. Что я не так делаю, и как заставить самосборный Qt показывать нормально виджеты? Ну хотя бы чтобы русские символы были видны?


Ответ на: комментарий от Sylvia

> -fontconfig в ключики configure нужно было добавить

А это поможет чтоб иконки тоже по-человечески рисовались?

Вообще, бинарник, собраный в Ubuntu 7.04 на Qt 4.5.0, будучи запущенным в Debian Lenny все показывает красиво и правильно:

http://62.149.5.84.nyud.net/i4/e0/a7/380a32dbda63d88a6a64965f0b4c.png

И шрифты сглаженные, и иконки нормальные, и стиль элементов соответсвует текущему системному (Plastic).


Я в упор не понимаю, почему собранный бинарь в Debian Lenny, и запущенный в нем же, отрисовывает виджеты так выгвиглазно.

xintrea
() автор топика
Ответ на: комментарий от xintrea

> Вообще, бинарник, собраный в Ubuntu 7.04 на Qt 4.5.0, будучи запущенным в Debian Lenny все показывает красиво и правильно

Я в упор не понимаю, почему собранный бинарь в Debian Lenny, и запущенный в нем же, отрисовывает виджеты так выгвиглазно.

а ты уверен, что они у тебя одни и те же версии библиотеки используют?

name_no ★★
()
Ответ на: комментарий от name_no

Конечно разные. Убунтовский бинарь использует системную Qt 4.4.3. Но при этом не собирается, если использовать dev-пакеты Qt 4.4.3, не хватает символов при линковке. А символы эти - это методы введенные в 4.5.0, и отсутсвующие в 4.4.3. Вообще большая загадка, почему бинарь, собранный под убунтой в Qt 4.5.0 нормально работает под Qt 4.4.3 в Debian Lenny.

А бинарь, собранный в Lenny под Qt 4.5.3 так и использует либу Qt 4.5.3 из /opt/qt_4_5_3.

Вот она то и кривая. Щас перекомпиляция идет с флагом -fontconfig, что-то сомневаюсь, что это поможет.

xintrea
() автор топика
Ответ на: комментарий от xintrea

мои ключики для сборки
каталоги можно убрать и оставить лишь -prefix с нужным вам именем.
еще хорошо бы посмотреть с какими параметрами конфигурируется Qt,
возможно оно чего-то не может найти из заголовочных файлов и в итоге отключает что-то.


./configure \
-platform linux-g++ \
-prefix «/usr» \
-bindir «/usr/bin» \
-libdir «/usr/lib» \
-docdir «/usr/share/qt4/doc» \
-headerdir «/usr/include/qt4» \
-datadir «/usr/share/qt4» \
-plugindir «/usr/lib/qt4/plugins» \
-translationdir «/usr/share/qt4/translations» \
-sysconfdir «/etc/xdg» \
-demosdir «/usr/lib/qt4/demos» \
-examplesdir «/usr/lib/qt4/examples» \
-release -shared -fast -confirm-license \
-host-little-endian -little-endian -largefile -exceptions \
-accessibility -stl -qt3support -xmlpatterns \
-phonon -phonon-backend -svg -webkit -scripttools \
-system-zlib -system-libpng -system-libjpeg \
-qt-gif -qt-libmng -qt-libtiff \
-openssl -optimized-qmake -v -nis -cups \
-iconv -dbus -gtkstyle \
-opengl -sm -xshape -xinerama -xcursor -xfixes -xrandr -xrender -mitshm -fontconfig -xkb -glib \
-reduce-relocations \
-nomake examples -nomake demos -no-separate-debug-info -opensource

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

В общем, обнаружилось, что configure в середине процесса настройки выдает таблицу, какие функции будут работать в Qt. Неудобно то, что после этой таблицы вылазит еще ~500 строк лога, и ее тупо не успеваешь заметить.

В таблице было вот что (оставлены только «неподключенные» строки):

Debug ............... no
QtDBus module ....... no
Phonon module ....... no
CUPS support ........ no
Glib support ........ no
GStreamer support ... no
Session management .. no
NAS sound support ... no
Xinerama support .... no
Xcursor support ..... no
Xfixes support ...... no
Xrandr support ...... no
Xrender support ..... no
Xi support .......... no
FontConfig support .. no
GTK theme support ... no
OpenSSL support ..... no

Стал доставлять dev-пакеты к X-библиотекам. libxrender-dev, libxrandr-dev ну и так далее. Поставил cups и его dev-файлы. После этого configure стало казать:

Debug ............... no
QtDBus module ....... no
Phonon module ....... no
CUPS support ........ yes
Glib support ........ yes
GStreamer support ... no
Large File support .. yes
Session management .. no
NAS sound support ... no
Xinerama support .... no
Xcursor support ..... runtime
Xfixes support ...... runtime
Xrandr support ...... runtime
Xrender support ..... yes
Xi support .......... runtime
FontConfig support .. yes
GTK theme support ... no
OpenSSL support ..... no

Щас запустил компиляцию, наверно результат должен будет быть более положительным.

Помогло вот это:

http://www.prog.org.ru/index.php?topic=7152.msg35295#msg35295

xintrea
() автор топика
Ответ на: комментарий от xintrea

QtDBus module ....... no
Phonon module ....... no
GStreamer support ... no
Session management .. no
OpenSSL support ..... no


неполноценно как-то все равно

Sylvia ★★★★★
()

Вот и гугловцы тоже ниасилили

судя по Google Earth

Cancellor ★★★★☆
()

Покомпилить на сервере захотелось? Поставь Qt 4.5.3 из testing, и дело с концом.

JackYF ★★★★
()
Ответ на: комментарий от panter_dsd

2 версии Кьюта на одной машине трудно подружить.

Фигня. У меня 3 стоят и номально работают.

UVV ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.