Я импортировал находящийся в 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. Но это походит на клудж.
Хорошо, поэтому если Вы используете рабочий стол, Kit и cmake жалуются, о котором он не может найти armhf инструменты, у Вас, вероятно, не было cmake установленным на рабочем столе во-первых (существует проблема с зависимостями, что мы пытаемся решить банкомат), и QtCreator использует cmake установку от одного из щелчка chroots, Вы создали для поддержки устройства.
Поэтому, что сделать:
нет никакой потребности изменить Наборы для устройств, так как они автоматически проверяются на каждом, запускаются.
, Если Вы хотите упаковать свой собственный cmake проект, необходимо удостовериться, что он упаковывается правильно для телефона. Ваш лучший выбор состоит в том, чтобы проверить один из исходных шаблонов ubuntu SDK, чтобы видеть, как он сделан.
Хорошо, после большого количества экспериментов, я нашел то, что я сделал неправильно.
Так, для создания 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 все еще довольно хрупок/ошибочен.