Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281615
  • 博文数量: 158
  • 博客积分: 1227
  • 博客等级: 少尉
  • 技术积分: 946
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 16:19
文章分类
文章存档

2016年(1)

2015年(1)

2012年(107)

2011年(49)

分类: IT业界

2012-04-11 14:34:14

原文地址:http://lybhu.blog.sohu.com/160297351.html
 追时髦装了 Qt4.7。安装的时候一切正常,顺顺利利的装完了。编译了几个简单的例子也没出问题。可运行时却报了错。大概的意思是在 QtCore4.dll 中无法定位 _Z9qBadAllocv 。

    刚开始以为是我用的GCC 版本和Qt4.7 不大兼容。折腾了半天也没找到问题。上网看了看,遇到这个情况的人还真不少。有的是 Debug 版本出这个问题,有的是 Release 版本出问题。冷静下来发现这个问题有意思了,需要静下心来好好思考一下。

    用VC6中带的工具 Dependency Walker 看了看 QtCore4.dll ,_Z9qBadAllocv 好端端的在那里啊。

    用 Dependency Walker 看我的程序 Hello.exe, 却显示 QtCore4.dll 中没有 _Z9qBadAllocv 。

    看来这俩 QtCore4.dll 不是一个东东啊!问题就在这里!!

    Dependency Walker 显示 Hello.exe 调用的是 C:\windows\system32 中的QtCore4.dll 。想起来了,以前为了方便我把 Qt 的动态链接库都放到  C:\windows\system32 中了。 现在 Qt 升级到4.7了,可C:\windows\system32  中却还是老版本的。

   删之,问题解决。

这次也给我敲了个警钟,不能随便把东西放到系统路径,各种库升级的时候忘了哪个都可能出问题。

阅读(2059) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~