[Solved]Deployment of a Qt application with combining OpenGL and QPainter
-
I built a Qt application on Window 7 with Visual Studio 2010. I can successfully run the exe with VS2010 (work well with OpenGL and QPainter. I used OpenGL to draw the 3D objects and QPainter to draw the background). But when I deploy it, I found that no 3D objects are rendered (Background has no problem). Did I miss something important in the exe folder ? The folder structure is like this
--folder--
Myapp.exe
icudt51.dll
icuin51.dll
icuuc51.dll
libEGL.dll
libEGLd.dll
libGLESv2.dll
Qt5Core.dll
Qt5Gui.dll
Qt5OpenGL.dll
Qt5Widgets.dll
platforms/qwindows.dll -
try " Dependency Walker":http://qt-project.org/doc/qt-5/windows-deployment.html#application-dependencies
-
Thanks. I checked with dependency walker, seems nothing missed. I profiled the program and some lines are highlighted. Is that relevant?
@GetProcAddress(0x74CF0000 [KERNEL32.DLL], "GetCurrentPackageFamilyName") called from "NVD3DUM.DLL" at address 0x6BE95AAE and returned NULL. Error: w{C (127).
GetProcAddress(0x74CF0000 [KERNEL32.DLL], "GetCurrentPackageFamilyName") called from "NVD3DUM.DLL" at address 0x6BE95AAE and returned NULL. Error: w{C (127).@ -
Aha! I know before that if you installed Qt for the MingGW compiler, you couldn't use the .dlls in \Tools\QtCreator\bin for deployment, because QtCreator is built using VS2010.
But you installed Qt for VS2010, so the dlls should be compatible, or not. Because probably QtCreator is built using the vanilla Qt VS2010 version and you installed and used the Qt VS2010 OpenGL version?
(The reason I'm asking, I'm writing a blog post on "my blog":http://www.tripleboot.org about deployment pitfalls, and this is one of them :-)