LINUX.ORG.RU

Смена пути для QT


0

1

Успешно (хотя и с трудом) собрал QT-embedded под один arm-девайс с Linux на борту. Я могу запускать что-либо с sd-карточки (путь /mnt/sd) Так вот, скомпилировал hello, world! на QT, запустил, и он мне сообщил:

QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtEmbedded-4.7.1-arm/lib/fonts - is Qt installed correctly? Aborted Соответсвенно пытается искать, и не находит. К самой директории /usr/local/ доступа не имею, да и места там нет. Так вот, возможно ли без пересборки всего QT поменять путь к QT? Глобальными переменными, параметрами, хоть как?

Кроме этого, пытался так: QTDIR=«/mnt/sd/qt» и так: export QTDIR=«/mnt/sd/qt» — не выходит.

А также кидал как fonts, так и её содержимое в одну папку с бинарником - ни в какую.


Проблема решена. Вот код запускалки

#!/bin/sh

QTDIR=«/mnt/sd/php/qt»

export QTDIR=«/mnt/sd/php/qt»

QT_QWS_FONTDIR=«/mnt/sd/php/qt/lib/fonts»

export QT_QWS_FONTDIR=«/mnt/sd/php/qt/lib/fonts»

./m2.gpe -qws

В папке fonts создаётся файл fontdir с содержимым

DejaVuSans DejaVuSans.ttf FT no 50 100

Правда всё закончилось segfault-ом но эт ничо, разберусь)))

ainu
() автор топика

Можно при сборке -prefix указать куда хочешь либу кидать, но это на будущее. Ну а сейчас можно сделать симлинк или mount -o bind до запуска программы.

Успешно (хотя и с трудом) собрал QT-embedded под один arm-девайс с Linux на борту.

...

К самой директории /usr/local/ доступа не имею, да и места там нет.

Ты рут или не рут на своём арм-девайсе? По идее, ты должен иметь полный контроль над железкой.

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

root, дело не в этом. /usr/local/ на внутренней nand памяти, у неё размер 100 мегабайт, на неё система, то есть сам QT туда просто не поместится. Чтобы туда зайти и совершать активные действия, надо подключиться к девайсу по сети, а для этого пока нет железа нужного. А mount -o bind прекрасная идея.

ainu
() автор топика

Qt — не аббревиатура, а QT — это QuickTime.

Obey-Kun ★★★★★
()

>Успешно (хотя и с трудом) собрал QT-embedded под один arm-девайс с Linux на борту

4e tam sobirat'-to? Nebos' slovo «buildroot» sliwali?

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

Хмм... Не под x86-Linux. Под arm-linux. С отсутсвующими библиотеками вроде libglib и другими (собирал отдельно). Это под убунты и дебианы тулза uic и сама библиотека работает на одной и тойже платформе, в моём случае uic - х86, а библиотеки Qt - arm, приходилось править makefile, потому что он собирал uic под arm и тутже пытался его запустить, вызывае segfault, много где править makefile, подменять пути и библиотеки, вообще много чего делать приходилось. Учитывая мой никакой опыт кросскомпиляции, для меня это был трёхдневный подвиг. Хотя когда буду пересобирать, буду умнее. К томуже почему-то сборщик (собирал на убунте) вместо символьных ссылок на либы создавал короткие файлы с названием настоящей либы. В общем проблемы были, и их было много.

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