Russian Qt Forum
Июля 02, 2025, 04:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка готового софта под Linux  (Прочитано 5150 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Января 27, 2011, 09:43 »

Не уверен в той ли я ветке создаю пост, админы перенесите если что.

Есть готовый  софт писался изначально на Qt 4.7.1 по виндой, сейчас возникла необходимость портировать его под линукс. Стало быть скачал исходники Qt 4.7.1 собрал с необходимыми библиотеками, собрал софт (все собралось довольно хорошо), запускаю и вижу ба.....(скрин в аттаче) полное непотребство. Подскажите может я какой то пакет не доставил или еще чего? Собирал под Linux Mint 10, Попробую еще под Ubuntu сегодня собрать ,но думаю разница будет не большая.

Забыл добавить Qt собирал с ключиками -debug-and-release -phonon
« Последнее редактирование: Января 27, 2011, 09:53 от ecspertiza » Записан
Fat-Zer
Гость
« Ответ #1 : Января 27, 2011, 10:02 »

Похоже шрифты русские не подцепились или с кодировкой не то чего-то...

другие Qt приложения нормально работают?
В исходниках всё по-русски писали или интернализацией пользовались? всё в utf8?
и ещё, какой был сокральный смысл в сборке из исходников?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Января 27, 2011, 10:20 »

другие Qt приложения нормально работают?

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

В исходниках всё по-русски писали или интернализацией пользовались? всё в utf8?

пользовался интернационализацией, и да все в utf-8

и ещё, какой был сокральный смысл в сборке из исходников?

если не ошибаюсь 4.7.1 еще нет в репозитарии.

Да и тут дело не только в тексте тут и отрисовка хромает, и просто текст не цепляется.
Записан
Aleksei
Гость
« Ответ #3 : Января 27, 2011, 10:43 »

Похожая ситуация была на Ubuntu. Для нормальной отрисовки кнопок, шрифтов и т.п. необходим пакет libxext-dev. Возможно, в Mint он по-другому называется. В общем, нужны расширения к X-серверу (xrandr и др.), также, если не ошибаюсь, нужен fontconfig. После установки всего этого, библиотеку Qt придется пересобрать заново.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #4 : Января 27, 2011, 10:49 »

А можно поподробнее про расширения к X-серверу ?

libxext-dev - стоял, без него Qt под Ubuntu не конфигурится даже.

сейчас доставил libxrandr-dev и libfontconfig-dev. Попробую пересобрать Qt, какие еще расширения могут понадобится?
« Последнее редактирование: Января 27, 2011, 10:56 от ecspertiza » Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #5 : Января 27, 2011, 12:33 »

Кстати может вопрос уже не в эту тему, кто знает как под Linux-ом .bin файлы собирать(инсталяшки) ?
Записан
Aleksei
Гость
« Ответ #6 : Января 27, 2011, 13:57 »

Сейчас, к сожалению, не помню. Вечером дома посмотрю и отпишусь.
Записан
Denjs
Гость
« Ответ #7 : Января 27, 2011, 15:30 »

В какой кодировке у вас текст исходника?
что у вас с указаниями кодировок для текста, локали и прочих строк?
Код:
void QTextCodec::setCodecForCStrings ( QTextCodec * codec );
void QTextCodec::setCodecForLocale ( QTextCodec * c );
void QTextCodec::setCodecForTr ( QTextCodec * c );
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #8 : Января 27, 2011, 22:08 »

В исходниках текст в ANSII, но в исходниках нет ни одного русского слова. В майне есть такой кусок
Код:
    QTextCodec * myTextCodec = QTextCodec::codecForName("Windows-1251");
    QTextCodec::setCodecForTr( myTextCodec );
    QTextCodec::setCodecForCStrings( myTextCodec );

но пробовал и UTF-8 прописывать, результат тот же.
Записан
Aleksei
Гость
« Ответ #9 : Января 28, 2011, 23:07 »

Еще понадобится расширение (если еще не стоит) xrender.
Записан
Denjs
Гость
« Ответ #10 : Января 29, 2011, 17:58 »

<...> но в исходниках нет ни одного русского слова. <...>
А где вы их держите? покажите кусок кода ответсвенный за формирование русских надписей?
вы строки в tr() оборачиваете? а в QTextCodec::setCodecForTr( myTextCodec ); - cp1251 прописываете (или что там у вас в том месте где надписи руские лежат)?... мелочи, мелочи.. выясняйте как именно у вас происходит обработка строки от того места где она хранится до того места когда она выводится...

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

наверное, ещё, в том месте где надписи русские лежат я бы все в UTF переконвертировал... так.. на всякий случай... но это только имхо.
« Последнее редактирование: Января 29, 2011, 18:02 от Denjs » Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #11 : Января 29, 2011, 20:49 »

А где вы их держите? покажите кусок кода ответсвенный за формирование русских надписей?
вы строки в tr() оборачиваете? а в QTextCodec::setCodecForTr( myTextCodec ); - cp1251 прописываете (или что там у вас в том месте где надписи руские лежат)?

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

А насчет .bin никто ничего не знает?
« Последнее редактирование: Января 29, 2011, 22:04 от ecspertiza » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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