Im getting opengl ERROR: unknown type name 'PFNGLPUSHDEBUGGROUPPROC'; did you mean 'PFNGLPUSHDEBUGGROUPKHRPROC'
-
Our previous developer left but he only gave a little information on how he built the project in QT, but we saw that it was built succesfuly as we have seen it runing as a web page (our desktop QT that is).
here is what I did:
-
I downloaded QT as an installer
-
After download, I ran the Maintenance tool, Went to add or remove components.
I Installed QT 6.5.0 and the platflorms
MinGW 11.2.0 64 bit
WebAssemby (single-threaded)
WebAssembly (multi-threaded)
I also downloaded under developer tools
MingW 11.2.0 64 bit
CMake 3.24.2 -
I also downloaded (apart from QT)
ninja 1.11
Emscripted 3.1.25
VTK 9.2.6I set qmake.bat from C:\Qt\6.5.0\wasm_singlethread\bin
cmake from C:\Qt\Tools\CMake_64
and mingw from C:\Qt\Tools\mingw1120_64\bin
in the environment PATH variables. -
So I went ahead and follow instructions based from here https://doc.qt.io/qt-6/wasm.html
I ran the configure with emscripten like the one bellow,
./emsdk install 3.1.25 ./emsdk activate 3.1.25 configure.bat -qt-host-path C:\Qt\6.5.0\mingw_64 -no-warnings-are-errors -feature-opengles3 -device-option QT_EMSCRIPTEN_ASYNCIFY=1 -platform wasm-emscripten -prefix $PWD/qtbase cmake –build .
All of the above is executed inside the source folder C:\Qt\6.5.0\Src
And I specify mingw_64 as the host-path as it is the ONLY one that compiles properly.-
Then I downloaded VTK and build like this
emsdk activate 3.1.25
emsdk_env.bat
emcmake cmake . -B C:\build-vtk-wasm -GNinja -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release -DVTK_ENABLE_LOGGING:BOOL=OFF -DVTK_ENABLE_WRAPPING:BOOL=OFF -DVTK_MODULE_ENABLE_VTK_hdf5:STRING=NO -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2:STRING=DONT_WANT -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2:STRING=DONT_WANT -DVTK_MODULE_ENABLE_VTK_RenderingCellGrid:STRING=NO -DVTK_MODULE_ENABLE_VTK_sqlite:STRING=NO -DCMAKE_INSTALL_PREFIX=C:\vtk-install
ninja
ninja install
Everything builts ok without error. So I went to our project and started the build
emsdk activate 3.1.25 emsdk_env.bat qmake.bat OurProject.pro mingw32-make
qmake.bat is from C:\Qt\6.5.0\wasm_singlethread\bin
while mingw32-make is from C:\Qt\Tools\mingw1120_64\bin
Then I got these errorsIn file included from Ui\VTKWidgets\MyQVTKOpenGLWindow.cpp:46: In file included from ..\..\dependencies\VTK-9.2.6\include\vtk-9.2\vtk_glew.h:47: ..\..\dependencies\VTK-9.2.6\include\vtk-9.2\vtkglew/include/GL/glew.h:24591:17: error: unknown type name 'PFNGLPOPDEBUGGROUPPROC'; did you mean 'PFNGLPOPDEBUGGROUPKHRPROC'? GLEW_FUN_EXPORT PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup; ^~~~~~~~~~~~~~~~~~~~~~ PFNGLPOPDEBUGGROUPKHRPROC C:\Qt\6.5.0\wasm_singlethread\include\QtGui/qopengles2ext.h:155:28: note: 'PFNGLPOPDEBUGGROUPKHRPROC' declared here typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
Im not sure what is happening here? I went to the file and PFNGLPUSHDEBUGGROUPPROC is indeed defined properly in vtk-9.2\vtkglew/include/GL/glew.h
maybe there is a conflict between OpenGL versions?Additionally, If I use wasm_singlethread as my host path like this
configure.bat -qt-host-path C:\Qt\6.5.0\wasm_singlethread -no-warnings-are-errors -feature-opengles3 -device-option QT_EMSCRIPTEN_ASYNCIFY=1 -platform wasm-emscripten -prefix $PWD/qtbase
I am getting an error
-- Could NOT find Qt6CoreTools (missing: Qt6CoreTools_DIR) CMake Error at qtbase/cmake/QtToolHelpers.cmake:621 (message):
It is because the folder Qt6CoreTools does not exist in wasm_singlethread and can only be found with mingw
C:\Qt\6.5.0\mingw_64\lib\cmake\Qt6CoreToolsThis is why I used mingw as my host path on my original configure script.
Ive been stuck wth this for over 2 weeks, please help
-
-