模块";Qt3D.Core“;未安装

模块";Qt3D.Core“;未安装,qt,qml,qt5,qtquick2,qt3d,Qt,Qml,Qt5,Qtquick2,Qt3d,我正在尝试将3D功能添加到现有的Qt应用程序中。在我的project.pro文件中,我设置了QT变量: TEMPLATE = subdirs QT += 3dcore 3drender 3dinput 3dquick qml quick 3dquickextras SUBDIRS = plugins/datasource \ plugins/screenManager qml.files = apps modules sysui i18n am-config.yaml Ma

我正在尝试将3D功能添加到现有的Qt应用程序中。在我的
project.pro
文件中,我设置了QT变量:

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
编辑:我将
QML\u导入跟踪
环境变量设置为
1
。现在,我在尝试运行应用程序时看到以下内容:

[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
中:

$ which qml
/usr/local/Qt-5.7.0/bin//qml
aras@aras-T900:~$ which qmake
/usr/local/Qt-5.7.0/bin//qmake
在我的
.qml
文件中,我尝试导入所需的三维库:

import Qt3D.Core 2.0
import Qt3D.Render 2.0
但是,当我尝试运行我的应用程序时,会出现以下错误:

...module "Qt3D.Render" is not installed
...module "Qt3D.Core" is not installed

我想这就是我所需要做的。我在这里遗漏了什么?

我通过从qt中查看最新的源代码并构建它,在我的qt应用程序中获得了3D效果。然后,当我遇到缺少模块的问题时,我构建了相应的模块。就3D而言,我就是这么做的:

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

这是假设一个源代码外目录生成。源代码位于
qt5
目录中。希望这有助于某人。

“我已经在QT安装中设置了包含$MQL2IXIPRONEPATH的路径”,这肯定是错误的——QML导入路径与C++包含的内容无关。此外,您不应该为了查找Qt附带的QML导入而设置env变量it。这是一个环境变量,所以在启动可执行文件时设置它。如果您使用的是Creator,请在项目窗格(左侧)中运行给定工具包的设置(顶部),并更改其中的环境。但关键是,您不需要为Qt本身附带的模块设置它。如果这些模块已安装但未找到,请将环境变量
QML\u IMPORT\u TRACE
设置为1,并检查是否确实找到了它们。您的Qt版本安装在哪里?您解决了这个问题吗?如果是..怎么做?Jiloc:我在我的解决方案中添加了一个答案