2

Qt 5.9.1 と qmake で作成およびビルドされた、非常に単純で正しいQt QML プロジェクトがあり、うまく動作します。しかし、CLion を使用して C++ コードを編集したいので、インターネットの多くのチュートリアルで説明されているように CMake プロジェクト構成を作成しました。ビルドは順調に進んでいますが、アプリケーションの起動時に、qml が完全に間違って記述されている場合のように、非常に奇妙な QQmlApplicationEngine エラーが発生します。

QQmlApplicationEngine failed to load component
main.qml:1 Expected token `numeric literal'
main.qml:1 Expected a qualified name id

MacOS X での私の構成は次のとおりです: (注:意図的に QRC を使用していません!)

CMakeLists.txt :

cmake_minimum_required(VERSION 3.8)
project(simple_project)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(Qt5 5.9.1 REQUIRED Core Widgets Gui Qml Quick)

set(SOURCE_FILES
        main.cpp
        main.qml)

add_executable(simple_project ${SOURCE_FILES})
target_link_libraries(simple_project
        Qt5::Core
        Qt5::Widgets
        Qt5::Gui
        Qt5::Qml
        Qt5::Quick)

main.cpp :

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[]) {
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load("main.qml");

    return app.exec();
}

main.qmlは、実行可能ファイルと同じディレクトリにあります。

import QtQuick.Controls 2.1
import QtQuick 2.7
import QtQuick.Layouts 1.2

ApplicationWindow {
    visible: true
    width: 480
    height: 320
}
4

1 に答える 1