Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我运行qtc++;Visual studio中的项目,并获得;程序无法启动,因为QtCored4.dll“;不见了_C++_Qt - Fatal编程技术网

C++ 我运行qtc++;Visual studio中的项目,并获得;程序无法启动,因为QtCored4.dll“;不见了

C++ 我运行qtc++;Visual studio中的项目,并获得;程序无法启动,因为QtCored4.dll“;不见了,c++,qt,C++,Qt,我在Visual Studio 2008中运行Qt C++项目,我得到这个错误信息: "The program can't start because QtCored.dll is missing from your computer. Try installing the program to fix this problem". 然后我将:QtCored4.dll从C:\Qt\4.8.0\bin复制到exe程序 我再次运行它,我得到: "The program can't start be

我在Visual Studio 2008中运行Qt C++项目,我得到这个错误信息:

"The program can't start because QtCored.dll is missing from your computer. Try installing the program to fix this problem".
然后我将:QtCored4.dll从C:\Qt\4.8.0\bin复制到exe程序

我再次运行它,我得到:

"The program can't start because QtGuid4.dll is missing from your computer. Try installing the program to fix this problem".
"the application was unable to start correctly (0xc015002). Click OK to close the program.
然后我将:QtGuid4.dll从C:\Qt\4.8.0\bin复制到exe程序

然后我再次运行它,我得到:

"The program can't start because QtGuid4.dll is missing from your computer. Try installing the program to fix this problem".
"the application was unable to start correctly (0xc015002). Click OK to close the program.
然后我检查事件查看器,我看到:

“D:\rest\rrpT.exe”的激活上下文生成失败。依赖的 装配 Microsoft.VC80.DebugCRT,processorArchitecture=“x86”,publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“8.0.50727.762” 找不到。请使用sxstrace.exe进行详细诊断

首先,这对我来说很奇怪,因为我正在VS2008上构建和调试应用程序,但它要求从VS2005获取dll文件。然后我从VS2005复制了这些文件:

msvcm80d.dll-msvcp80d.dll-msvcr80d.dll

到程序文件夹,但仍然是相同的错误:(

我认为还有一些有趣的事情:

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.
为什么PropertyBrowser依赖于VS2005


有什么想法吗?

听起来你的Qt副本是用VS2005编译的,因此它可能依赖于版本8的运行时DLL。但是你的应用程序是用VS2008构建的,因此依赖于版本9的运行时DLL。一般来说,你不能将两个版本的运行时DLL都放在一个进程中。VC++倾向于破坏二进制c主要版本之间的兼容性


你需要用VS2008重新编译你自己的Qt DLL副本,或者用VS2005开发你的应用程序。

FWIW,我从来没有用VS2008重新编译过Qt DLL。事实上,Qt下载页面只有VS2008库,而不是VS2005。我添加了一些其他问题。这会是VS2005的原因吗?你试过并排使用吗(SxStrace)实用程序提到了吗?消息显然认为您可以从中获得更好的错误,因此值得一试。我尝试了SxStrace,但解析给出了错误。我检查了事件日志,找到了上面的信息。