[Interest] Trouble compiling qt3d for qt6 on windows 10
danielpatel.no at gmail.com
Wed Feb 17 11:15:05 CET 2021
Actually all errors except the missing assimpl plugin problem went away
when also setting environment variable QSG_RHI_BACKEND to opengl
So the only open question now is how to get the assimp to work.
And a new question is: why does it matter what QSG_RHI_BACKEND is set to
when I already specified that qt3d should use opengl directly and not use
opengl through RHI (which has limited functionality)
ons. 17. feb. 2021 kl. 10:59 skrev Daniel Patel <danielpatel.no at gmail.com>:
> Thank you Mike for telling how to send in parameters correctly. For the
> qt-configure-module.bat the syntax "-DFEATURE_qt3d_simd_avx2=ON" worked but
> I didn't need to set it. The other syntax "-- -qt3d-simd=avx2" worked for
> the qt6 configure script and I was able to tell it where zlib was by using
> "configure -prefix C:\Qt\Qt-6.1 -debug-and-release --
> -DZLIB_LIBRARY=C:/Users/danie/vcpkg/installed/x64-windows/lib/zlib.lib --
> I will try to use this for including zlib so that perhaps the "zlib.h not
> found" error goes away when compiling qt3d6.0.1 (qt3d-everywhere-src-6.0.1)
> Currently I was able to compile qt3d6.0.0 (qt3d-everywhere-src-6.0.0), but
> I had to first compile qt6, then add the qt3d folder and then compile qt3d.
> If the qt3d folder is present when qt6 starts compiling, it tries to
> compile qt3d folder as well, but fails.
> Another thing is that when compiling qt6 with --paralell keyword,
> sometimes I got an internal compiler error. But then I would just issue the
> compile command again and it continued.
> After compilation, I copied the dlls over to the install folder according
> to Pauls advice.
> I tried out the qt3d examples (after setting environment variable
> QT3D_RENDERER to opengl). Most worked, but a few didn't:
> -multiviewport example gave error "Found no suitable importer plugin for
> I also actually had this error when compiling qt5.15.2. It seems like
> assimp is not made automatically anymore.
> Is it because "Checking for Assimp", and "System Assimp" returns no as
> shown below?
> Checking for Assimp... no
> Checking for Autodesk FBX... no
> Qt 3D:
> Assimp ................................. yes
> System Assimp .......................... no
> -compute-particles and some other examples gave this error: ASSERT:
> "QOpenGLContext::currentContext()" in file
> line 271
> tir. 16. feb. 2021 kl. 15:17 skrev Mike Krus <mike.krus at kdab.com>:
>> Assuming qt-configure-module.bat invokes qmake, the right way of passing
>> the configure options is “-- -qt3d-simd=avx2”
>> If it’s invokes cmake, then try -DFEATURE_qt3d_simd_avx2=ON
>> Mike Krus | mike.krus at kdab.com | Senior Software Engineer & Teamlead
>> KDAB (UK) Ltd., a KDAB Group company
>> Tel: UK Office +44 1625 809908 Mobile +44 7833 491941
>> KDAB - The Qt Experts, C++, OpenGL Experts
>> > On 16 Feb 2021, at 13:31, Daniel Patel <danielpatel.no at gmail.com>
>> > Using a space didn't work either. I will try to use cmake though.
>> > The reason I wanted to use avx2 was to try to get rid of the
>> compilation error: Project ERROR: Could not find feature qt3d-simd-avx2
>> > tir. 16. feb. 2021 kl. 14:22 skrev Paul Lemire <paul.lemire at kdab.com>:
>> > On 2/16/21 1:33 PM, Daniel Patel wrote:
>> >> Thanks a lot for the reply Paul, it was useful as always.
>> >> Copying the files made the qt3d examples work!
>> >> I realized that the compile error showed up because qt6 itself was
>> only compiled in debug mode.
>> >> With the appropriate flag to the configure script, qt6 now compiles
>> both in debug and in release.
>> >> However, now when compiling qt3d I ran into the error : "Could not
>> find feature qt3d-simd-avx2" (I already configured and compiled qt6 with
>> -avx2 flag)
>> >> I am just not able to tell/configure qt3d to use avx2 instead of sse2.
>> Currently "qmake .." returns:
>> >> Use SSE2 instructions .................. yes
>> >> Use AVX2 instructions .................. no
>> >> After running configure for the qt6 build I got this text as output:
>> >> "To configure and build other Qt modules, you can use the following
>> convenience script:
>> >> C:/Qt/Qt-6.1/bin/qt-configure-module.bat"
>> >> So i did a "c:\Qt\Qt-6.1\bin\qt-configure-module.bat
>> qt3d-everywhere-src-6.0.0 --qt3d-simd=avx2" but that failed with
>> "Unknown command line option '--qt3d-simd=avx2'" (I also tried
>> -avx2-qt3d-simd and -qt3d-simd-avx2)
>> >> Anyone knows how to set configure flags for qt3d before compiling it?
>> > What about -qt3d-simd avx2 (just a space)? That's what I use when
>> compiling on linux with qmake. For Qt 6, I've switched to cmake though,
>> option to use is -DFEATURE_qt3d_simd_avx2=ON on the cmake command line.
>> > That being said, the avx2 option for Qt 3D essentially only yields
>> better performance when we multiply matrices internally. The sse2 option is
>> not much slower, a lot faster than relying on QMatrix4x4 (though this might
>> have changed in Qt6, haven't checked).
>> >> On a side note I also was not able to get qt6 configure script to
>> detect zlib libraries even though I set appropriate environment variables
>> and sent in paths using both -D option as well as -I and -L option.
>> >> man. 15. feb. 2021 kl. 11:47 skrev Paul Lemire <paul.lemire at kdab.com>:
>> >> I can't really help about the compile issues. But I should be able to
>> help regarding the plugin error.
>> >> You likely need to copy a few more things from the qt3d build dir to
>> your Qt install dir:
>> >> qt3d_build_dir/qml/Qt3D into Qt_Install_Dir/qml/
>> >> qt3d_build_dir/qml/QtQuick/* into Qt_Install_Dir/qml/QtQuick/
>> >> qt3d_build_dir/plugins/* into Qt_Install_Dir/plugins/
>> >> (the plugins dir contains a renderers folder which contains the Qt3D
>> render plugins)
>> >> I hope that helps,
>> >> Paul
>> >> On 2/15/21 11:03 AM, Daniel Patel wrote:
>> >>> I have compiled qt6.1 from source which works and now I am trying to
>> compile qt3d also from source by downloading from
>> and following the qmake instructions from:
>> >>> I first tried to download and compile qt3d-everywhere-src-6.0.1 but
>> got an error about missing zlib.h. Instead of trying to fix this I quickly
>> instead tried with qt3d-everywhere-src-6.0.0 and this compiled fine.
>> >>> However it only compiled debug dlls and not release dlls. I tried to
>> do nmake all and nmake release but the latter gave the error "NMAKE : fatal
>> error U1073: don't know how to make
>> >>> I then decided to try out the debug build. First I noticed that the
>> qt3d dlls didnt seem to have been copied over to the correct folder when I
>> did nmake install. So I copied them over manually and then started
>> basicshapes-cpp.exe, but this showed the runtime error: Unable to find
>> renderer plugin for opengl.
>> >>> Any hints for what to do?
>> >>> Best
>> >>> Daniel
>> >>> _______________________________________________
>> >>> Interest mailing list
>> >>> Interest at qt-project.org
>> >>> https://lists.qt-project.org/listinfo/interest
>> >> --
>> >> Paul Lemire |
>> >> paul.lemire at kdab.com
>> >> | Senior Software Engineer
>> >> KDAB (France) S.A.S., a KDAB Group company
>> >> Tel: France +33 (0)4 90 84 08 53,
>> >> http://www.kdab.fr
>> >> KDAB - The Qt, C++ and OpenGL Experts
>> > --
>> > Paul Lemire |
>> > paul.lemire at kdab.com
>> > | Senior Software Engineer
>> > KDAB (France) S.A.S., a KDAB Group company
>> > Tel: France +33 (0)4 90 84 08 53,
>> > http://www.kdab.fr
>> > KDAB - The Qt, C++ and OpenGL Experts
>> > _______________________________________________
>> > Interest mailing list
>> > Interest at qt-project.org
>> > https://lists.qt-project.org/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest