Я изучил возможности C ++ и Qt для создания кросс-платформенных приложений.
У меня очень простое приложение, созданное в виде кросс-платформенных приложений , которое работает на рабочем столе, но Я не могу понять, как заставить его работать на моем телефоне Ubuntu.
Все примеры приложений, которые я нашел, выполняются через qmlscene, но мне не нравится этот подход, потому что я хочу сделать свой заставьте его работать на моем телефоне Ubuntu .
Вот код:
CMakeLists.txtproject(testapp)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Qml REQUIRED)
find_package(Qt5Quick REQUIRED)
add_executable(${PROJECT_NAME} main.cpp main.qrc)
qt5_use_modules(${PROJECT_NAME} Core Gui Qml Quick)
install(TARGETS ${PROJECT_NAME} DESTINATION .)
if(UNIX)
add_subdirectory(ubuntu-package)
endif(UNIX)
ubuntu-package/CMakeLists.txt set(UBUNTU_MANIFEST_PATH "manifest.json.in" CACHE INTERNAL "Tells QtCreator location and name of the manifest file")
set(APP_NAME "${PROJECT_NAME}")
set(APP_ID "${PROJECT_NAME}.anonymous")
set(ICON "${PROJECT_NAME}.png")
set(EXEC "${PROJECT_NAME}")
install(FILES "${PROJECT_NAME}.apparmor" "${ICON}" DESTINATION .)
configure_file(manifest.json.in ${CMAKE_CURRENT_BINARY_DIR}/manifest.json)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION .)
set(DESKTOP_FILE_NAME "${PROJECT_NAME}.desktop")
configure_file(${DESKTOP_FILE_NAME}.in ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_NAME})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_NAME} DESTINATION .)
main.cpp [ f3] main.qml import QtQuick 2.4
import QtQuick.Window 2.1
import Ubuntu.Components 1.3
Window {
minimumHeight: units.gu(80)
minimumWidth: minimumHeight
MainView {
applicationName: "simpleapp"
anchors.fill: parent
Page {
Button {
anchors.centerIn: parent
text: "Quit"
onClicked: Qt.quit()
}
}
}
Component.onCompleted: show()
}
Полный исходный код
Когда я пытаюсь создать его в Qt Creator для набора armhf, он выдает ошибки:
[ f5]