• 12171阅读
  • 3回复

QT编译后release下无法执行,找不到dll输入点 [复制链接]

上一主题 下一主题
离线vs9841
 

只看楼主 倒序阅读 楼主  发表于: 2008-12-13
— 本帖被 XChinux 执行加亮操作(2008-12-14) —
我的应用程序在debug下编译后可以正常执行,可是编译到release下 打开 .exe文件时,就出错
***************************************************

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

***************************************************

我配置为:windowsXP + Eclipse + CDT + MinGW
离线vs9841

只看该作者 1楼 发表于: 2008-12-14
调试后,终于找到问题出现的原因,是系统中安装多个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时也会出现问题.怎么办,不知道道上大侠们有什么好的处理方法.
离线vs9841

只看该作者 2楼 发表于: 2008-12-14
这个论坛上人气也太低了,问了个问题连个支声的也没有。上面的问题也解决就是做了一个批处理。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
离线XChinux

只看该作者 3楼 发表于: 2008-12-14
这个问题。。。有经验的一看便知问题所在。楼主这也不找出来了么。
周末人比较少。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个