Есть ли способ скомпилировать программы на Qt5, написанные на c ++, в Ubuntu Touch?

Я создаю программу с Qt5 и C ++, и я хотел бы скомпилировать свою программу для Ubuntu Touch Preview или настольной консоли Ubuntu.

Я использую эти системы на Nexus 7. Я нашел правильный компилятор C ++ (arm-linux-gnueabihf-g++), но как мне заставить работать Qt5?

8
задан 23 February 2013 в 18:01

3 ответа

Простой способ

Можно использовать экспериментальную функцию Альфы SDK Ubuntu. Красота его состоит в том, что Вы не должны кросс-компилировать.

Сначала соединитесь со своим устройством:

  1. Включите свое устройство к USB-порту Вашего компьютера
  2. Запустите спокойного создателя
  3. Нажмите на вкладку устройств
  4. Нажмите кнопку Enable для включения режима разработчика
  5. Перейдите к Инструментам> Ubuntu>, Устройство> Включает> компиляция Cpp на (экспериментальном) устройстве Ubuntu

Затем начните взламывать:

  1. Откройте проект своего приложения в спокойном Создателе
  2. Перейдите к Сборке>, Ubuntu> Разрабатывает проект C++ на (экспериментальном) устройстве Ubuntu

Building C++ Touch projects on the device

И от Вас идут!:-)

Если Вам нравится проблема

Вы могли очевидно скомпилировать приложения на устройстве вручную. Вы могли бы хотеть попробовать следующие (непротестированные) шаги:

  1. SSH в Ваше устройство, выполняющее Сенсорный Предварительный просмотр Разработчика Ubuntu
  2. Установите необходимые пакеты разработки. В зависимости от того, в чем Вы нуждаетесь, Вы, возможно, должны были бы добавить пакеты к списку, но здесь являетесь первым выстрелом:

    sudo apt-get install qt5-default qtbase5-dev libqt5v8-5-dev qtdeclarative5-dev libqt5xmlpatterns5-dev qtscript5-dev qttools5-dev qt3d5-dev qtmultimedia5-dev libqt5svg5-dev qtdeclarative5-dev-tools qttools5-dev-tools qtlocation5-dev qtsensors5-dev qtpim5-dev qt-components-ubuntu

  3. Создайте свое приложение C++ с Вашей предпочтительной системой сборки (cmake, qmake, и т.д....)

11
ответ дан 23 February 2013 в 18:01

Расширенная инструкция основана на предыдущем ответе. Следует иметь в виду: эта инструкция описывает Qt/Qml, разрабатывающий на ПК для Касания Ubuntu без соединения SSH с устройством, и потребуйте инструмента кросс-компиляции как linaro.

ЧАСТЬ 1: создание среды

  1. Получите Ubuntu SDK
  2. Получите набор инструментальных средств: Linaro или wia sudo склонный - получают установку gcc-arm-linux-gnueabihf набор инструментальных средств установки, и это - зависимости.
  3. Доберитесь это два освобождает libhybris, и API платформы плюс Qt5 освобождает для armhf (может быть получен из устройства), или просто загрузите tarball всеми, освобождает (от tarball, который Ваша потребность освобождает и заголовки, поместите их в/usr/arm-gnueabihf/lib и/usr/arm-gnueabihf/include).
  4. Будьте изменены конфигурация qmake - unrar это в mkspecs (например, мой в/usr/share/qt5/mkspecs/). Внутри каталог unrared - qmake.conf. Если что-то отсутствовало при компиляции - это - потребность изменить переменную пути в том файле.
  5. Поскольку спокойный Создатель делает новый профиль компиляции: в настройках Компиляции и развертывания, на вкладке Compiler - добавляют, что новый компилятор (arm-linux-gnueabihf-gcc), на вкладке Tools - добавляют новый профиль и указывают Тип устройства - Общее устройство Linux, Компилятор - что Вы добавляетесь QT Профиля - универсальный (я использую не перекомпилированный QT!!!), QT mkspec - linux-arm-gnueabihf-gcc. Это - все, в чем Вы нуждаетесь для компиляции. Для отладки - это - потребность быть, указывают другие параметрические усилители. И около него, это лучше, перекомпилировали QT из источников. Но я ленив так),

ЧАСТЬ 2: развертывание приложения

  1. Wia adb продвигают/data/ubuntu / <some_path> приложение нажатия и ресурсы. ОС может найти их в / <some_path>. Отметьте, нет никакой/data/ubuntu части. Та часть необходима только adb.
  2. Затем, потребность сделать <app_name> .desktop файл:
    • корень adb
    • оболочка adb
    • оболочка ubuntu_chroot - переключается для избиения на устройстве
    • CD/usr/share/applications - входит в папку с *.desktop файлами
    • Скопируйте любой из них и редактирования (с vi) для Вашей цели приложения (имя, значок, путь, e.t.c.)
  3. Следующий шаг, то же как предыдущий (Вы уже в ударе в устройстве):
    файл редактирования (с vi)/usr/share/qml-phone-shell/Applications/applications.js, добавляет часть для Вашего приложения в файле, то же, как другие приложения имеют в том файле. Это должно быть то же как в <app_name> .desktop файл
  4. Оболочка перезагрузки (путем уничтожения qml-phone-shell процесса) или телефон перезагрузки (перезагрузка-p)
  5. Теперь можно запустить приложение от страницы Apps!

Тестовый пример и исходные материалы: инструкция EN и инструкция RU со ссылками для набора инструментальных средств загрузок и важный освобождают.

1
ответ дан 23 February 2013 в 18:01

Есть еще одно предложение (третий способ, но сложный):
1. получить linaro toolchain для armhf
2. получить libhybris и platform-api (от phablet-team по адресу launchpad.net )
3. получить динамические библиотеки из устройства ( / lib / arm-linux-gnueabihf и / usr / lib / arm-linux-gnueabihf / )
4. патч mkspecs для qmake
5. компилировать
6. добавьте файл < your_app > .desktop в / usr / share / Applications /
7. добавить строки в /usr/share/qml-phone-shell/Applications/applications.js (я думаю, что это необязательно)
8. подтолкнуть ваше приложение и ресурсы
9. перезагрузка оболочки или телефона
10. Ваше работающее приложение! (Я проверял это!)

0
ответ дан 23 February 2013 в 18:01

Другие вопросы по тегам:

Похожие вопросы: