импорт QtPosition в отчетах QML отсутствует модуль, но он не отсутствует - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь построить проект QML в Visual Studio с помощью CMake.Вот мои файлы:

CMakeLists.txt

cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

project(MyProject)

find_package(Qt5 COMPONENTS Quick Core Network)
find_package(Qt5QuickCompiler)

qtquick_compiler_add_resources(RESOURCES qml.qrc)

add_executable(MyExec main.cpp ${RESOURCES})

qt5_use_modules(MyExec Quick Core Network)

main.qml

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtPositioning 5.11

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
}

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char* argv[]) {
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

qml.qrc

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

Когда я собираю и запускаю это, я получаю это:

QQmlApplicationEngine failed to load component
qrc:/main.qml:3 plugin cannot be loaded for module "QtPositioning": Cannot load library D:\Dev\MyProject\build\bin\qml\QtPositioning\declarative_positioningd.dll: The specified module could not be found.    

Однако, когда я иду в этот каталог, там присутствует декларативное_позиционированиеd.dll.Единственное, что я могу найти в сети, похожую на эту проблему, это здесь .Они говорят, что решили свою проблему с помощью отсутствующего файла Qt5PositionQuick.dll, но этот файл также присутствует в соответствующих установочных каталогах Qt5, и я также попытался поместить его в папку с Declarative_positioningd.dll безрезультатно.

Эта проблема относится только к QtPosition, другие попытки импорта QML, которые я пытался выполнить, работают нормально (кроме QtLocation, которая зависит от QtPosition).

...