Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: ecspertiza от Январь 27, 2011, 09:43



Название: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 27, 2011, 09:43
Не уверен в той ли я ветке создаю пост, админы перенесите если что.

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

Забыл добавить Qt собирал с ключиками -debug-and-release -phonon


Название: Re: Сборка готового софта под Linux
Отправлено: Fat-Zer от Январь 27, 2011, 10:02
Похоже шрифты русские не подцепились или с кодировкой не то чего-то...

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


Название: Re: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 27, 2011, 10:20
другие Qt приложения нормально работают?

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

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

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

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

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

Да и тут дело не только в тексте тут и отрисовка хромает, и просто текст не цепляется.


Название: Re: Сборка готового софта под Linux
Отправлено: Aleksei от Январь 27, 2011, 10:43
Похожая ситуация была на Ubuntu. Для нормальной отрисовки кнопок, шрифтов и т.п. необходим пакет libxext-dev. Возможно, в Mint он по-другому называется. В общем, нужны расширения к X-серверу (xrandr и др.), также, если не ошибаюсь, нужен fontconfig. После установки всего этого, библиотеку Qt придется пересобрать заново.


Название: Re: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 27, 2011, 10:49
А можно поподробнее про расширения к X-серверу ?

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

сейчас доставил libxrandr-dev и libfontconfig-dev. Попробую пересобрать Qt, какие еще расширения могут понадобится?


Название: Re: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 27, 2011, 12:33
Кстати может вопрос уже не в эту тему, кто знает как под Linux-ом .bin файлы собирать(инсталяшки) ?


Название: Re: Сборка готового софта под Linux
Отправлено: Aleksei от Январь 27, 2011, 13:57
Сейчас, к сожалению, не помню. Вечером дома посмотрю и отпишусь.


Название: Re: Сборка готового софта под Linux
Отправлено: Denjs от Январь 27, 2011, 15:30
В какой кодировке у вас текст исходника?
что у вас с указаниями кодировок для текста, локали и прочих строк?
Код:
void QTextCodec::setCodecForCStrings ( QTextCodec * codec );
void QTextCodec::setCodecForLocale ( QTextCodec * c );
void QTextCodec::setCodecForTr ( QTextCodec * c );


Название: Re: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 27, 2011, 22:08
В исходниках текст в ANSII, но в исходниках нет ни одного русского слова. В майне есть такой кусок
Код:
    QTextCodec * myTextCodec = QTextCodec::codecForName("Windows-1251");
    QTextCodec::setCodecForTr( myTextCodec );
    QTextCodec::setCodecForCStrings( myTextCodec );

но пробовал и UTF-8 прописывать, результат тот же.


Название: Re: Сборка готового софта под Linux
Отправлено: Aleksei от Январь 28, 2011, 23:07
Еще понадобится расширение (если еще не стоит) xrender.


Название: Re: Сборка готового софта под Linux
Отправлено: Denjs от Январь 29, 2011, 17:58
<...> но в исходниках нет ни одного русского слова. <...>
А где вы их держите? покажите кусок кода ответсвенный за формирование русских надписей?
вы строки в tr() оборачиваете? а в QTextCodec::setCodecForTr( myTextCodec ); - cp1251 прописываете (или что там у вас в том месте где надписи руские лежат)?... мелочи, мелочи.. выясняйте как именно у вас происходит обработка строки от того места где она хранится до того места когда она выводится...

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

наверное, ещё, в том месте где надписи русские лежат я бы все в UTF переконвертировал... так.. на всякий случай... но это только имхо.


Название: Re: Сборка готового софта под Linux
Отправлено: ecspertiza от Январь 29, 2011, 20:49
А где вы их держите? покажите кусок кода ответсвенный за формирование русских надписей?
вы строки в tr() оборачиваете? а в QTextCodec::setCodecForTr( myTextCodec ); - cp1251 прописываете (или что там у вас в том месте где надписи руские лежат)?

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

А насчет .bin никто ничего не знает?