Qt部署;无法找到过程入口点….

我已经移植了现有的Qt4应用程序Qt5,并为此应用程序添加了一些额外的(简单)功能.

旧的应用程序随之而来

> libgcc_s_dw2_1.dll
> libusb-1.0.dll
> mingwm10.dll
> QtCore4.dll
> QtCored4.dll
> QtGui.dll

现在,从QtCreator我可以运行我修改过的应用程序,但在准备部署时会出现问题.我在我的.exe上使用了dependancy walker,并在我的可执行文件目录中包含了一堆DLL.

> icudt51.dll
> icuin51.dll
> icuuc51.dll
> IEShims.dll
> libgcc_s_dw2-1.dll
> libGLESv2.dll
> libstdc -6.dll
> libusb-1.0.dll
> libwinpthread-1.dll
> mingwm10.dll
> Qt5Core.dll
> Qt5Cored.dll
> Qt5Gui.dll
> Qt5Guid.dll
> Qt5Widgets.dll
> Qt5Widgetsd.dll
> QtCored4.dll

(是的,由于DLL,项目大小现在非常大,但在我的用例中这不是问题.)

最后它没有抱怨丢失DLL的.尝试执行.exe时发布的错误消息是:

The procedure entry point ?testBit@QBitArray@@QBE_NH@Z Could not be located in the dynamic link library Qt5Core.dll

我从来没有尝试过在Qt Creator之外执行Qt应用程序,所以我真的不知道该怎么做.

如果它有帮助:
在Projects->下qmake build config:Release – >我有效的qmake电话

qmake.exe D:\Product\test_util.pro -r -spec win32-g++

如果需要更多信息以使其更清楚,请对其发表评论.

在稍微修改我的代码以根据OpenGL添加功能后,我在Qt 5.4.2上遇到了同样的问题.我做的是使用 Qt’s Window’s Deployment tool.

>创建一个文件夹并将二进制文件放入其中
>使用cmd根据您拥有的二进制版本发出以下命令:

> windeployqt –release Name_Of_Binary
> windeployqt –debug Name_Of_Binary

根据您拥有的Qt Creator版本,您可能必须手动将lib * .dll复制到目录中. Qt 5.4.2中不存在此错误,但早期版本中存在此错误.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...