Как кросс-компилировать приложение qt для разных платформ - PullRequest
9 голосов
/ 19 декабря 2009

Как я могу кросс-компилировать мое приложение на Qt. Что касается каждого проекта

Мне нужны две версии

1). Который работает на компьютере на Qvfb & i386 Architecture

2). Который работает на устройстве с Linux Framebuffer & ARM Architecture

Я уже скомпилировал Qt для устройства, а также для Qvfb. Я могу запускать примеры на обеих платформах, но как я могу кросс-компилировать свои приложения. Я бы предпочел, чтобы оба вывода оставались в разных каталогах, то есть вывод i386 остается на платформе output-i386, а вывод ARM - в каталоге output-ARM.

Я использую Qt 4.6 для встраиваемых Linux-систем.

Ответы [ 3 ]

4 голосов
/ 19 декабря 2009

Вы можете просто установить DESTDIR в своем файле .pro. Смотрите ссылку на переменную qmake . Вы также можете настроить переменные OBJECTS_DIR, UI_DIR, MOC_DIR и RCC_DIR.

.
2 голосов
/ 19 декабря 2009

В конце этой статьи показано, как изменить qmake в рабочем каталоге (вам нужно запустить make destclean первым). В этой статье описывается базовая Qt для встраиваемой среды Linux , просто чтобы дать вам общую картину.

2 голосов
/ 19 декабря 2009

Qt берет все специфичные для платформы детали из файла mkspec.

Укажите файл mkspec для qmake для кросс-компиляции, используя аргумент командной строки -spec в qmake.

в файле mkspec существует множество определений, с помощью которых вы можете настроить компиляцию для разных платформ, например, я могу использовать DESTDIR для отправки окончательного выходного файла в определенный каталог, OBJECTS_DIR для отправки файла объектов в конкретный каталог. MOC_DIR для отправки сгенерированных moc файлов в определенный dir, UI_DIR в сгенерированные uic заголовки и файлы cpp в конкретный каталог.

...