分类: IT业界
2012-04-11 14:34:14
刚开始以为是我用的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 中却还是老版本的。
删之,问题解决。
这次也给我敲了个警钟,不能随便把东西放到系统路径,各种库升级的时候忘了哪个都可能出问题。