Ubuntu IDE пытается выполнить находящиеся в CMake проекты ARM на рабочем столе вместо устройства: ошибка или что?

Я импортировал находящийся в CMake проект в Ubuntu IDE. Это использует плоскость C++ без компонентов QML. Когда я пытаюсь выполнить его, это не развертывается к устройству, но работает на рабочем столе (неудачно, сообщая, что это не может найти armhf ld библиотекой), даже при том, что я выбрал armhf SDK и на вкладке Kits, мое устройство выбрано для текущего набора, и подсказка в нижнем левом углу показывает, что приложение будет установленным на устройстве.

Когда я открываю вкладку Run в настройках Project, мой находящийся в CMake проект отличается от находящихся в QMake проектов, в которых это имеет поля "Command Line Arguments" и "Current Working Directory", но "Не переопределяйте приложение, если установлено", и "Удаляют приложение после отладки" (я не помню точный текст теперь). От этого я прихожу к заключению, что Ubuntu IDE рассматривает мое приложение не как предназначенное Касание Ubuntu, но, как Предназначено рабочего стола. Что отмечает находящийся в CMake проект, поскольку Касание Ubuntu предназначалось для fomr IDE?

Даже возможно выполнить находящийся в CMake проект без QML на устройстве? SDK не имеет шаблона для этого примера использования: все находящиеся в CMake шаблоны используют QML и единственную плоскость, проект C++ (Приложение QtQuick) использует QMake.

У меня нет таких проблем с находящимися в QMake проектами, и в настоящее время я использую CMake, чтобы создать библиотеку вместо исполняемого файла и затем связать его в исполняемый файл с фиктивным проектом QMake. Но это походит на клудж.

1
задан 28 March 2016 в 23:59

2 ответа

Хорошо, поэтому если Вы используете рабочий стол, Kit и cmake жалуются, о котором он не может найти armhf инструменты, у Вас, вероятно, не было cmake установленным на рабочем столе во-первых (существует проблема с зависимостями, что мы пытаемся решить банкомат), и QtCreator использует cmake установку от одного из щелчка chroots, Вы создали для поддержки устройства.

Поэтому, что сделать:

  • Близкая Установка Ubuntu SDK IDE
  • cmake "способная установка cmake"
  • Запускается, Ubuntu SDK IDE
  • переходят в: Опции-> Сборка & Выполненный и щелчок вкладка
  • CMake удостоверяется, что/usr/bin/cmake выбран, поскольку значение по умолчанию
  • Открывает вкладку Kits, там выберите свой Рабочий стол Kit и удостоверьтесь, что/usr/bin/cmake используется в качестве cmake инструмента.
  • Удаляют buildfolders для Ваших проектов и создают снова

нет никакой потребности изменить Наборы для устройств, так как они автоматически проверяются на каждом, запускаются.

, Если Вы хотите упаковать свой собственный cmake проект, необходимо удостовериться, что он упаковывается правильно для телефона. Ваш лучший выбор состоит в том, чтобы проверить один из исходных шаблонов ubuntu SDK, чтобы видеть, как он сделан.

0
ответ дан 23 July 2019 в 22:42

Хорошо, после большого количества экспериментов, я нашел то, что я сделал неправильно.

Так, для создания Ubuntu IDE создает конфигурацию, которая выполняет находящийся в CMake проект на устройстве, все, в чем Вы нуждаетесь, должен иметь переменную UBUNTU_MANIFEST_FILE, которая будет установлена в Вашем CMakeLists.txt, И это должен явно быть отмеченный ВНУТРЕННИЙ КЭШ. Довольно очевидно, когда Вы знаете, как плагин Ubuntu QtCreator работает, но иначе, не так.

Так, просто добавьте

set(UBUNTU_MANIFEST_PATH "manifest.json" CACHE INTERNAL "Path to manifest file")

к Вашему CMakeLists.txt, и Вы ПОЧТИ хороши.

Однако я также встретился с проблемой, что это не будет работать, если я укажу "$ {CMAKE_SOURCE_DIR}/manifest.json" как UBUNTU_MANIFEST_PATH, даже при том, что файл точно там.

плохая часть, то, что Ubuntu IDE все еще создаст ДВЕ выполненных конфигурации для проекта. Первый, по умолчанию, который имеет имя на основе имени Вашей исполняемой цели, все еще попытается выполнить код armhf рабочего стола. Я думаю, что это - ошибка.

второй имеет имя, которое зависит от какой Вы записанный в разделе "рычагов" Вашего .desktop файла. Если то имя будет равняться с исполняемым именем, то та конфигурация будет иметь "2" добавленных к нему (т.е. cmake_test2). Эта вторая конфигурация является той для использования - это выполняет проект на устройстве, но необходимо выбрать его в разделе "Run" страницы "Projects" - по умолчанию, неправильная конфигурация выполнения выбрана.

, В целом, это походит на поддержку CMake в Ubuntu, IDE все еще довольно хрупок/ошибочен.

0
ответ дан 23 July 2019 в 22:42

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

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