QT编译后release下无法执行,找不到dll输入点

无法定位程序输入点_Z5qFreePv于动态链接库QtCore4.dll上

QT编译后release下无法执行,找不到dll输入点


应用 程序在debug下编译后可以正常执行,可是编译到release下 打开 .exe文件时,就出错:


无法定位程序输入点_Z5qFreePv于动态链接库 QtCore4.dll


配置为:windowsXP + Eclipse + CDT + MinGW


调试后,终于找到问题出现的原因,是系统中安装多个QT版本所制,原来我系统用的是QT4.4.3版本,然后呢.后来学习Pthon后又安装了PyQT4.4.2版本.并且把两个QT目录都做了系统环境变量的映射Path中了,恰好PyQT中也有QtCore4.dll,当我执行release中的编译好的程序时,就需要调用QtCore4.dll这个文件,原本应该调用的是QT4.4.3中的dll,确因为系统变量的原因,调用了PyQT中的dll,所以才会出现找不到输入点.而在Debug中可以正确执行,也很容易理解,因为PyQT中没有QtCored4.dll这个文件,所以程序就找到QT4.4.3目录下的正确版本.所以可以执行.找到了问题后,解方法是把系统变量中的PyQT的环境变量的映射去除.可是这样也有麻烦就是我用PyQT时也会出现问题.怎么办,不知道道上大侠们有什么好的处理方法.


问题解决了就是做了一个批处理。Python启动时,自动执行批处理文件:
echo off
echo ---修改系统变量为QTDIR为PyQT
set QTDIR=%PyQT%
set Path=%QTDIR%
echo ---显示修改后结果
echo %Path%
@"C:/Python26/pythonw" "C:/Python26/Lib/site-packages/eric4/eric4.py" %1 %2 %3 %4 %5 %6 %7 %8 %9




在一个cmd中运行bat设置 Path ,仅对此cmd起作用。

重新打开一个cmd,输入path 发现未变



你可能感兴趣的:(QT编译后release下无法执行,找不到dll输入点)