• 22342阅读
  • 15回复

用QT写的程序debug版运行正常,release版出问题 [复制链接]

上一主题 下一主题
离线llseptem
 
只看楼主 正序阅读 楼主  发表于: 2008-10-07
— 本帖被 XChinux 执行加亮操作(2008-11-02) —
QT4.4.3,用了官方的MinGW版和VC2008编译的版本,都出现此问题。
用make(或nmake)生成的可执行文件,debug版正常,Release版的则无法运行,先提示MSVCP80和MSVCR80两个dll找不到,我把两个dll手动放到目录下,又提示QTCore.dll
上的几个函数找不到入口。但是debug版的QTCored.dll就没问题。
请教各位高手
离线he119

只看该作者 15楼 发表于: 2009-12-02
我make install在单独的路径下的
离线wd007

只看该作者 14楼 发表于: 2009-11-29
有可能是你安装过多个版本的Qt库,清理一下如何,或者为不同的用户配置不同的Qt版本。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线he119

只看该作者 13楼 发表于: 2009-11-29
我是在ARM上运行的,debug版可以运行,而release版运行就出错
SEVG错误
离线80437
只看该作者 12楼 发表于: 2009-08-11
应该是相关的动态库(Qt*.dll)存在多个版本引起的, QT4在不同版本发布的动态库的文件名都是一样的, 比如4.1.4和4.4.3的都是QtCore4.dll, 但实际的版本不一样会出现这样的问题.

如果Debug版本的程序运行没有问题, 也就说明Debug版本的动态库没有上述的版本冲突的问题, 而是Release版本的动态库存在着版本冲突. 这是因为绝大部分软件发布时只带着release版本的程序, 而不会发布debug版本的程序.

最好的办法是搜索一下硬盘内有多少目录下有qt的动态库
离线headway
只看该作者 11楼 发表于: 2009-08-05
求解啊,我官网上下的,debug没什么,release版就出问题了,错误如上有伟兄弟的截图,XXXXXXXXXXXcould not be located in the dynamic link library QtCore.dll
离线cxjnet
只看该作者 10楼 发表于: 2009-01-05
呵呵,继续关注
离线guxingke
只看该作者 9楼 发表于: 2008-12-03
最有可能的问题是,你本机的的其他程序用到了其他版本的qt,并将含有qt动态包的路径设置在系统的path环境变量中,debug和release时寻找qt动态包的目录遍历顺序不一致,所以debug时调用你想要的qt动态包,而release程序执行时加载了别的版本的qt动态包,建议在系统内搜一下
离线subo4110
只看该作者 8楼 发表于: 2008-12-02
Qt 4.4.0-opensource + VC2005下,出现了类似的问题
Qt 4.4.0-opensource + VC2005下,出现了类似的问题:
release编译、连接通过,但是运行时出现下面的情况:

QPushButton类的按钮,信号槽完整建立。调用close没有问题;但是若是一个new出的的QDialog,调用exec函数模态显示它的时候,就会卡在exec()函数中,细看一下:进程是运行的,但对话框再也没有响应。

而debug下没有任何编译、连接、运行问题。

有请高手指点!
[ 此贴被subo4110在2008-12-02 11:30重新编辑 ]
离线zheng501gf

只看该作者 7楼 发表于: 2008-10-23
我用的是VS2005也出现这种情况,最后是所生成RELEASE时所需的库找不到造成的,你把所需的库文件放到依赖的文件下就行了!
离线llseptem
只看该作者 6楼 发表于: 2008-10-14
vc2008+vc2008编译好的包,而且后来我重新在本机把源码用vc2008编译成了库(release+debug),还是老问题,debug可以,release不行
离线neohope

只看该作者 5楼 发表于: 2008-10-13
不要告诉我你用vc2005
然后下的vc2008的编译好的包
离线llseptem
只看该作者 4楼 发表于: 2008-10-07
离线llseptem
只看该作者 3楼 发表于: 2008-10-07
还有更奇怪的就是官方MinGW编译版本的release_dll也要MSVCP80和MSVCR80搞不懂
离线llseptem
只看该作者 2楼 发表于: 2008-10-07
应该是90,不过运行的时候提示说是80找不到,很头疼
离线XChinux

只看该作者 1楼 发表于: 2008-10-07
vc2008使用的是msvcp90和msvcr90吧??
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个