QT Release构建DLL过程入口点错误

Mat*_*ung 15 dll qt release build

我在Qt Creator中构建了一个应用程序,它使用CImg进行一些图像处理.当我从内部IDE运行它时,它运行正常,但如果我尝试从其目录启动它,它会抛出以下错误.

The procedure entry point ??4QString@@QAEAAV0@$$QAV0AAZ could not be located 
in the dynamic link library QtCore4.dll
Run Code Online (Sandbox Code Playgroud)

一切都指向安装了多个版本的DLL.我发现我的Xilinx IDE使用Qt库,但有问题的DLL版本相同.我不是一个真正的软件人,而且在这里不知所措.

Cla*_*dio 17

即使库版本相同,它们也可能不兼容.例如,它们使用不同的配置进行编译,例如是否支持STL,OpenGL,SQL驱动程序......

解决它的最简单方法应该是在PATH环境变量的开头移动Qt SDK的路径.这样,每当你运行一个需要Qt库的可执行文件时,它将加载SDK附带的那些(第一个找到的PATH),除非在可执行文件目录中已经存在QtCore4.dll,QtGui4.dll的副本.因此,如果您重新分发应用程序,则可能还必须在其目录中提供库.

另一种选择是静态链接,但您需要在(L)GPL许可下提供源代码.