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
편집
: 내가1
에
QML_IMPORT_TRACE
환경 변수를 설정 내
project.pro
파일에서 나는 QT 변수를 설정하십시오.
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 설치시 include 디렉토리에 $ QML2_IMPORT_PATH를 설정했습니다."이것은 틀 렸습니다. QML 가져 오기 경로는 C++ include와 아무 관련이 없습니다. 더욱이 Qt에 포함 된 QML 가져 오기를 찾으려면 해당 변수를 env 변수로 설정하지 않아야합니다. 그러니 그냥 놓지 마라. – peppe
설명해 주셔서 감사합니다. 어떻게 그리고 어디서 그 변수를 설정해야하는지 말해 줄 수 있습니까? 'project.pro' 파일에 있나요? 여러 워드 프로세서가 해당 변수를 참조하지만 설정 방법은 밝히지 않았습니다. – Aras
환경 변수이므로 실행 파일을 시작할 때 설정합니다. 제작자를 사용하는 경우 왼쪽의 프로젝트 창에서 상단의 주어진 키트에 대한 설정을 실행하고 거기에서 환경을 변경하십시오. 그러나 전체 요점은 * Qt 자체와 함께 오는 모듈을 위해 * 설정할 필요가 없다는 것입니다. 이들 모듈이 설치되었지만 발견되지 않으면, 대신에 환경 변수'QML_IMPORT_TRACE'를 1로 설정하고 실제로 발견했는지 확인하십시오. – peppe