首页 > 解决方案 > 无法在我的 QML 视图中使用 QTLocation 和 QTPositioning

问题描述

在我使用 QT 6.1 和操作系统 Ubuntu 20.04 创建的 QT/QML 项目中,我将使用 QTMapView。为此,我尝试使用以下命令安装 QTLocation 和 QTPosition:

sudo apt install qml-module-qtlocation qml-module-qtpositioning

正如以下主题所建议的:

https://askubuntu.com/questions/1115899/qtlocation-and-qtpositioning-not-installed

之后,我尝试使用以下代码在我的 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)

我错过了什么?如何解决问题并正确导入地图组件?

标签: qtcmakeqml

解决方案


推荐阅读