• 3648阅读
  • 4回复

qt奇怪的问题 [复制链接]

上一主题 下一主题
离线jorneyr
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-04
Qt写的一个程序, 一运行就出现下面的错误:
C:\QtWorkspace\Cleaner\release\Cleaner.exe exited with code -1073741819
编译没有任何问题, 但是一运行就出现这个错误, 在网上搜索也没有找到答案, 有哪位遇到过这种问题吗?
离线jorneyr

只看该作者 1楼 发表于: 2009-08-05
有一个问题要报告, 这个工程我使用的是Unicode编码.
工程开始的时候是在Mac上用Qt Creator1.2.1创建的. 完成有90%的时候, 这个工程拿到windows上编译运行是没有任何问题的, 在windows上编译运行过多次, 从来没有出过问题.

但是前两天手痒, 在Mac上把Qt Creator升级到了1.2.8, 然后编辑过这个工程的源文件. 今天终于完功了, 然后再拿到windows上编译运行, 于是出问题了, 老说 exited with code -1073741819, 在google上搜索了一个下午, 都没有找到解决办法. 后来我在windows上也用1.2.8的Qt Creator来编译运行这个工程, 但是问题仍然存在, 还是同样的不能运行.

最后, 我在Mac上把Qt Creator再还原到1.2.1, 然后从工程中只提取出一个类, 重新建一个工程, 然后再拿到windows上编译运行, 见鬼的是, 这次出的问题是 exited with code 3. 天呐, 这次竟然只有一个类, 都还出问题, 实在没办法了.

哪位大神显显灵吧.
离线foxyz

只看该作者 2楼 发表于: 2009-08-05
你在1.2.8下面, make clean一下.完整地重新build一下。包括你自己的使用到的lib也必须重新用1.2.8编译连接。
lib的路径也得重新检查。一些环境变量你看看是否改到1.2.8

顺便提醒你以下,既然你能编译通过,为何不调试进去看看到底哪个文件的哪个函数的哪一行出错了呢
离线jorneyr

只看该作者 3楼 发表于: 2009-08-05
回楼上, 在这个工程中, 调试根本就进不去. 也不知道是为什么.
后来发现了问题, 由于一个类使用单态模式, 正好就是外上面用来做测试的那个类.

在这个类的构造函数中去读取一个xml文件, 把xml文件中的内容放到一个QHash中, 便于查找.

出问题的时候, 单态我使用了static MyClass instance这种栈对象, 到后来我改成了static MyClass *instance, 然后在第一次getInstance()的时候再去用new创建这个对象, 这样做程序又能正常运行了.
很奇怪的问题, 因为这两种方式在Mac下的GCC都能正常运行, 而且网上很多人也这样做, 不过第一种方式在windows下却出了莫名其妙的问题.
离线jorneyr

只看该作者 4楼 发表于: 2009-08-05
而另一个使用单态模式工具类, 因为没有在构造函数中使用new分配内存和读取文件, 使用static OtherClass instance这种方式, 却又能运行得很好, 呵呵, 怪哉.
快速回复
限100 字节
 
上一个 下一个