2016-08-17 30 views
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ファイルで私は1QML_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 

私はそれが私がする必要があると思った。私はここで何が欠けていますか?

+1

"私のQtインストール内のインクルードディレクトリに$ QML2_IMPORT_PATHを設定しました"というのは間違っています - QMLインポートパスはC++インクルードとは関係ありません。さらに、Qtで出荷されたQMLインポートを見つけるために、env変数を設定する必要はありません。だから、そのまま放置しておいてください。 – peppe

+0

それを明確にしていただきありがとうございます。その変数を設定する方法と場所を教えてください。 'project.pro'ファイルにありますか?いくつかのドキュメントはその変数を参照していますが、設定方法は述べていません。 – Aras

+1

これは環境変数なので、実行ファイルを起動するときに設定します。クリエイターを使用している場合は、Projectペイン(左)、特定のキットの設定を(上)実行し、環境を変更します。しかし、全体のポイントは、*あなたはそれを設定する必要はありません* Qtと一緒に来るモジュールのために。これらのモジュールがインストールされているが見つからない場合は、代わりに環境変数 'QML_IMPORT_TRACE'を1に設定し、それらが実際に見つかったかどうかを確認してください。 – peppe

答えて

1

qtの最新のソースコードをチェックアウトしてビルドすることで、私のqtアプリケーションで3Dが動作しています。モジュールの問題が発生したときに、対応するモジュールを作成します。 3Dの場合、これは私がやったことです:

cd qt3d 
../qtbase/bin/qmake ../../qt5/qt3d 
make -j5 

これは、ソースディレクトリ外のビルドを前提としています。ソースコードはqt5ディレクトリにあります。これが誰かを助けることを望みます。

関連する問題