我刚建立了我应该修复的项目。我仔细检查了加载了正确的DLL - 项目使用Qt 5.3.0,dll从5.3.0目录加载。我不确定问题出在哪里。我的项目是否使用了不正确的Qt标头?或者DLL构建不正确吗?
我正在使用Visual Studio 2017构建Debug。这些DLL也是使用visual studio构建的。我尝试过Vidual Studio 2010,因为它是2010年的项目,但错误是一样的。
答案 0 :(得分:1)
您处于发布或调试模式吗? QtCoded.dll与调试配置文件有关。
另一种解释可能是你的Qt是如何构建的。 如果我没记错,Qt是用msvc2015构建的,所以你必须使用msvc2015用Visual Studio构建你的exe,并且不可能在之前或之后使用msvc版本。 请记住,您不能使用mv使用msvc构建的Qt框架。
换句话说,我建议您查看您使用Visual Studio的msvc版本以及哪个版本的Qt框架。
问候。
答案 1 :(得分:0)
就我而言,问题出现了:
其中一个子项目被意外配置为使用Qt 5.6.1,而其余的解决方案使用5.3.0。我通过在依赖walker中打开结果二进制文件找到了。
答案 2 :(得分:0)
我刚刚在 QT 4 上遇到了同样的问题。
在这篇文章中找到了解决方案:The procedure entry point could not be found
<块引用>我遇到了同样的问题,就我而言,这是因为我的计算机上安装了同一个库的两个版本。
<块引用>最后,问题是我将我的程序链接到新的 LIB 文件,而我的 PATH 指向旧的 DLL。当库版本号不包含在 LIB 或 DLL 文件名中时,很容易混淆版本。
我的情况是,我使用的是旧版 QT 中的 QtCored4.dll
和其他。解决方案是直接从我用于构建应用程序的 QT 安装目录中复制 DLL(因为它是由我的 QTDIR
环境变量设置的):C:\Qt\4.8.7\bin
到我的应用程序目录。