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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка готового софта под Linux  (Прочитано 4908 раз)
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.051 секунд. Запросов: 23.