在我使用 QT 6.1 和操作系统 Ubuntu 20.04 创建的 QT/QML 项目中,我将使用 QTMapView。为此,我尝试使用以下命令安装 QTLocation 和 QTPosition:
sudo apt install qml-module-qtlocation qml-module-qtpositioning
正如以下主题所建议的:
未安装 QtLocation 和 QtPositioning
之后,我尝试使用以下代码在我的 QML 视图中导入 QTLocation 和 QTPosition
import QtLocation 5.12
import QtPositioning 5.12
但我收到两个导入的“QML 模块未找到”消息。
下面,您还可以找到项目的 CMakeLists.txt 文件:
cmake_minimum_required(VERSION 3.14)
project(myapp VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 COMPONENTS Core Quick REQUIRED)
find_package(Qt6 COMPONENTS Core Quick REQUIRED)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
set(PROJECT_SOURCES
main.cpp
qml.qrc
images.qrc
)
qt_add_executable(myapp
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
target_compile_definitions(myapp
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(myapp
PRIVATE Qt6::Core Qt6::Quick)
set_target_properties(myapp PROPERTIES
QT_QML_MODULE_VERSION 1.0
QT_QML_MODULE_URI com.my.myapp
)
list(APPEND QML_IMPORT_PATH .)
qt6_qml_type_registration(myapp)
qt_import_qml_plugins(myapp)
qt_finalize_executable(myapp)
我错过了什么吗?如何解决问题并正确导入地图组件?非常感谢; 我试图尽可能详细,但如果您需要其他信息,请随时问我。
您在 Ubuntu 20.04 LTS 上使用 Qt 6.1 会产生其他问题。此版本附带 Qt 5.12。对于 Debian 和 Ubuntu ,所有 Qt 6 的未来都还不清楚。
所以打开终端并从官方存储库安装 Qt 所需的开发包:
然后编译你可能很棒的应用程序。