olidev
olidev

Reputation: 20644

I run a Qt C++ project in Visual studio and got "the program can not start because QtCored4.dll" is missing

I am running a Qt C++ Project in Visual Studio 2008 and I got this error message:

"The program can't start because QtCored.dll is missing from your computer. Try installing the program to fix this problem".

Then I copy: QtCored4.dll from C:\Qt\4.8.0\bin to the exe program

I run it again, I got:

"The program can't start because QtGuid4.dll is missing from your computer. Try installing the program to fix this problem".

Then I copy: QtGuid4.dll from C:\Qt\4.8.0\bin to the exe program

Then I run it again, I got:

"the application was unable to start correctly (0xc015002). Click OK to close the program.

Then I check the Event Viewer, I see this:

Activation context generation failed for "D:\rest\rrpT.exe". Dependent Assembly Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762" could not be found. Please use sxstrace.exe for detailed diagnosis.

First of all, it is very strange to me because I am building and debugging the application on VS2008 but it asks for the dll files form VS2005. Then I copied those files from VS2005:

msvcm80d.dll - msvcp80d.dll - msvcr80d.dll

to the program folder but it is still the same error :(

And I think there is also something interesting:

Activation context generation failed for "C:\Bin\QtSolutions_PropertyBrowser-2.5d.dll". Dependent Assembly Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762" could not be found. Please use sxstrace.exe for detailed diagnosis.

why is that PropertyBrowser is dependent on VS2005?

Any idea?

Upvotes: 0

Views: 1807

Answers (1)

Adrian McCarthy
Adrian McCarthy

Reputation: 47952

It sounds like your copy of Qt was compiled with VS2005, thus it probably has a dependency on the version 8 runtime DLLs. But your application is built with VS2008 and thus has a dependency on the version 9 runtime DLLs. In general, you can't get both versions of the runtime DLLs into one process. VC++ tends to break binary compatibility between major versions.

You need to recompile your own copies of the Qt DLLs with VS2008 or develop your application with VS2005.

Upvotes: 1

Related Questions