1
既存のQtアプリケーションに3D機能を追加しようとしています。モジュール "Qt3D.Core"がインストールされていません
TEMPLATE = subdirs
QT += 3dcore 3drender 3dinput 3dquick qml quick 3dquickextras
SUBDIRS = plugins/datasource \
plugins/screenManager
qml.files = apps modules sysui i18n am-config.yaml Main*.qml
INSTALLS += qml
編集:私はQT変数を設定し、私のproject.pro
ファイルで私は1
へQML_IMPORT_TRACE
環境変数を設定します。
import Qt3D.Core 2.0
import Qt3D.Render 2.0
:私は私が必要な3Dライブラリをインポートしようと
$ which qml
/usr/local/Qt-5.7.0/bin//qml
[email protected]:~$ which qmake
/usr/local/Qt-5.7.0/bin//qmake
を私.qml
ファイル内部:
[DBG | default] QQmlImportDatabase::addImportPath: "/usr/lib/x86_64-linux-gnu/qt5/qml" [:0]
[DBG | default] QQmlImportDatabase::addImportPath: "/usr/local/Qt-5.7.0/include" [:0]
[DBG | default] QQmlImportDatabase::addImportPath: "/usr/local/bin" [:0]
[DBG | default] QQmlImportDatabase::setImportPathList: ("/usr/local/bin", "/usr/local/Qt-5.7.0/include", "/usr/lib/x86_64-linux-gnu/qt5/qml", "/home/aras/Projects/UI/imports/shared", "/home/aras/Projects/UI/imports/system") [:0]
[CRIT | am.system] WARNING: could not register service org.freedesktop.Notifications on D-Bus (unix:abstract=/tmp/dbus-c9i1pNpEVT): [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::addLibraryImport: "QtQuick" 2.5 as "QQ2" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::importExtension: loaded "/usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick.2/qmldir" [:0]
[DBG | default] QQmlImportDatabase::registerPluginTypes: "QtQuick" from "/usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick.2" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::addLibraryImport: "QtQuick.Window" 2.2 as "" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::importExtension: loaded "/usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Window.2/qmldir" [:0]
[DBG | default] QQmlImportDatabase::registerPluginTypes: "QtQuick.Window" from "/usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Window.2" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::addFileImport: "sysui" -1.-1 as "" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::addLibraryImport: "controls" 1.0 as "" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::importExtension: loaded "/home/aras/Projects/UI/imports/shared/controls/qmldir" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::addLibraryImport: "utils" 1.0 as "" [:0]
[DBG | default] QQmlImports(file:///home/aras/Projects/UI/Main.qml)::importExtension: loaded "/home/aras/Projects/UI/imports/shared/utils/qmldir" [:0]
[WARN | default] QQmlApplicationEngine failed to load component [:0]
[WARN | default] file:///home/aras/Projects/UI/Main.qml:6 module "Qt3D.Core" is not installed
[:0]
[CRIT | am.system] ERROR: Qml scene does not have a root object [:0]
Qtは/usr/local/Qt-5.7.0
にインストールされています。今、私はアプリケーションを実行しようとすると、以下を参照してください。
ただし、アプリケーションを実行しようとすると、次のエラーが表示されます。
...module "Qt3D.Render" is not installed
...module "Qt3D.Core" is not installed
私はそれが私がする必要があると思った。私はここで何が欠けていますか?
"私のQtインストール内のインクルードディレクトリに$ QML2_IMPORT_PATHを設定しました"というのは間違っています - QMLインポートパスはC++インクルードとは関係ありません。さらに、Qtで出荷されたQMLインポートを見つけるために、env変数を設定する必要はありません。だから、そのまま放置しておいてください。 – peppe
それを明確にしていただきありがとうございます。その変数を設定する方法と場所を教えてください。 'project.pro'ファイルにありますか?いくつかのドキュメントはその変数を参照していますが、設定方法は述べていません。 – Aras
これは環境変数なので、実行ファイルを起動するときに設定します。クリエイターを使用している場合は、Projectペイン(左)、特定のキットの設定を(上)実行し、環境を変更します。しかし、全体のポイントは、*あなたはそれを設定する必要はありません* Qtと一緒に来るモジュールのために。これらのモジュールがインストールされているが見つからない場合は、代わりに環境変数 'QML_IMPORT_TRACE'を1に設定し、それらが実際に見つかったかどうかを確認してください。 – peppe