Unsolved Qt3d simple application run from QT Creator only
-
I am using QT5.7, win7 x64 and trying to open 3ds file using qt3d. I opened example project and changed it to open external 3ds file and it worked well, but when I'm trying to run binary file in release folder errors about missind qt dll pop up.
Add "C:\Qt\Qt5.7.0\5.7\mingw53_32\bin" to path and reboot didn't work so I run windeployqt.exe to get all dlls. Now no messages pop up and programm semms to launch, but I have only white window that is not fully loaded and everything is terribly slow (app uses 50-99% of CPU).
Moreover I have the same trouble trying to run simple qt3d projects like C:\Qt\Qt5.7.0\Examples\Qt-5.7\qt3d\lights
Running programm from qt creator (crtl+R) is ok.
I also have qt5.5.1 and issue is repdoducible there.
What could be the core of the problem?
Or maybe there is another (more simple) way to open 3ds files in QT not using qt3d?Upd: when I run windeployqt.exe I noticed the line "Warning: Cannot find any version of the d3dcompiler DLL.".
I also used debugview while running .exe and it shows these messages:
[6540] qrc:/main.qml:53:1: module "Qt3D.Render" is not installed
[6540] qrc:/main.qml:51:1: module "QtQuick" is not installed
[6540] qrc:/main.qml:54:1: module "Qt3D.Input" is not installed
[6540] qrc:/main.qml:55:1: module "Qt3D.Extras" is not installed
[6540] qrc:/main.qml:52:1: module "Qt3D.Core" is not installed -
@aleksey_ho said:
I also used debugview while running .exe and it shows these messages:
[6540] qrc:/main.qml:53:1: module "Qt3D.Render" is not installed
[6540] qrc:/main.qml:51:1: module "QtQuick" is not installed
[6540] qrc:/main.qml:54:1: module "Qt3D.Input" is not installed
[6540] qrc:/main.qml:55:1: module "Qt3D.Extras" is not installed
[6540] qrc:/main.qml:52:1: module "Qt3D.Core" is not installedmeans it can't find the QML imports.
Maybe you don't have QTDIR env variable set (but QtCreator internally does).
Or set the import directory manually by yourself.QQmlEngine engine; engine.addImportPath( QDir::current().absolutePath() + "/imports" ); //expects a imports folder next to your application's executable
-
@raven-worx
Thank you for the quick response.UPD:
I added variable QTDIR - C:\Qt\Qt5.7.0\5.7\mingw53_32 and added %QTDIR%\bin; to path variable.Still I have error "Entry Point Not Found" if I don't run windeployqt. It happen because system tries to use Qt5Core.dll that is located in C:\Qt\Qt5.7.0\Tools\QtCreator\bin (although it is not in %path%).
So i used windeployqt.exe and also added some folders (Qt3D, QtQml, QtQuick.2). Now the app runs!But problem still exists. The models is not opened. I can see blue background and no model (but model is in correct directory). I tried different types (model.3ds, model.dae, model.obj) - no result. Again, if I run from QT Creator - model is shown
-
I added variable QTDIR - C:\Qt\Qt5.7.0\5.7\mingw53_32 and added %QTDIR%\bin; to path variable.
Still I have error "Entry Point Not Found" if I don't run windeployqt. It happen because system tries to use Qt5Core.dll that is located in C:\Qt\Qt5.7.0\Tools\QtCreator\bin (although it is not in %path%).
So i used windeployqt.exe and also added some folders (Qt3D, QtQml, QtQuick.2). Now the app runs!But problem still exists. The models is not opened. I can see blue background and no model (but model is in correct directory). I tried different types (model.3ds, model.dae, model.obj) - no result. Again, if I run from QT Creator - model is shown
-
In addition, when I add all dlls to release folder and run it from QT Creator (ctrl+R) model also is not shown