I recently got a new laptop and upgraded to MSVC++ 2008 Express and Qt 4.4.3. I built Qt using this same MSVC++ 2008. I'm experiencing a deployment problem, however, that I didn't have with Qt 4.1.x and msvc++ 2005 Express... that I hope someone can help me with.
I'm doing the open source/shared libraries route. I've followed the instructions here:
http://doc.trolltech.com/4.2/deploym...ared-libraries
with the "hellogl" program. My deployment directory contains:
hellogl.exe
hellogl.intermediate.manifest
Microsoft.VC90.CRT.manifest
msvcm90.dll
msvcp90.dll
msvcr90.dll
QtCore4.dll
QtGui4.dll
QtOpenGL4.dll
This is how I pretty much did stuff before, without problem. There are 2 differences between this deployment directory and my old ones:
the microsoft stuff is all "90" instead of "80" (as expected: express 2008 is also called msvc 9.0)
and
the executable manifest file is now named: "hellogl.intermediate.manifest" instead of "hellogl.exe.manifest". I'm not sure why this is the case, but this seems to be the way either Qt or msvc++ 2008 names them now.
Anyway, when I copy the deployment directory to another computer (without Qt/MSVC++ installed) and double-click "hellogl.exe", it get the following error message:
C:\hellogl\hellogl.exe This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
When I open it in dependency walker on this deployment computer, an error message pops up:
Dependency Walker Errors were detected when processing c:\hellogl\hellogl.exe". See the log for details.
There are 4 errors:
"Error: The Side-by-Side configuration information for "c:\hellogl\hellogl.exe" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (140001)." (see "hellogl_on_deployed.png")
this same error is given for:
qtopengl4.dll
qtgui4.dll
qtcore4.dll
By the way, if I open *just* the qtcore4.dll in dependency walker, I get the same error message for just that DLL. However, if I open the qtcore4.dll that I built a 18 months ago (qt 4.1.1, i think) with msvc++ 2005, I don't get this error.
Any ideas? When i built Qt 4.4.3 last week, everything built ok. If I open qtcore4.dll in dependency walker on my development computer, I think it's ok (see "qtcore4_on_devel_computer.png"). There's a DWMAPI.DLL error, but I think that should not be a problem.
Bookmarks