• 6348阅读
  • 3回复

qt写的ftp客户端运行在windows下出错 [复制链接]

上一主题 下一主题
离线snailbing
 

只看楼主 倒序阅读 楼主  发表于: 2008-06-25
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
基于qt4 的QFtp 写的一个ftp客户端,主要用于在后台进行本地文件和ftp服务器上文件同步工作.
在linux上一切正常,运行也正常
但是到windows下编译后运行就提示

应用程序正常初始化(0xc0000005)失败。请单击“确定”,终止应用程序。


其它几个qt程序都正常的.

本来以为是我自己机子的问题,然后找了三台机子 xp sp2  xp sp3    windows2003server
三台机子提示出错的问题都一样.

请问这是什么原因吖,为什么在linux下测试全过的,到windows下就出这种问题(在windows我也用多个版本的qt编译试过了)
离线captain08
只看该作者 1楼 发表于: 2008-06-25
在window下重新编译一下试试
离线snailbing

只看该作者 2楼 发表于: 2008-06-25
重新编译了很多次,用qt4.3.4 编译后,也用qt4.4编译过,都不行
离线snailbing

只看该作者 3楼 发表于: 2008-06-26
原因已经找到,可是为什么会这样还是不知道,更不知道为什么linux中正常,在windows下为什么就有这个问题

我的程序中类的结构:
第一个类继承于 QObject ,是所有处理器类的基础虚类
第二个类继承于 第一个类,是所有同步程序类的基础类
第三个类是同步程序的具体实现类(就好像这个ftp程序中的具体实现类)

第二个和第三个类中都有 Q_OBJECT 的宏定义,都要求支持 信号和槽.

最后把第三个类的 Q_OBJECT 系列的功能去除,程序运行初始化时就不会报错啦.在其它几个程序中测试(都是第三类的实现类)证实是这个原因.

但我就是不知道为什么会这样,为什么就windows出错?因为了继承的父类和子类都有Q_OBJECT吗(想想也不可能啊,QT的源程序是这种Q_OBJECT的继承也不少吖?),是因为父类和子类都是多线程的吗(可是:只要是信号和槽就都是线程啊)?
[ 此贴被snailbing在2008-06-26 22:38重新编辑 ]
快速回复
限100 字节
 
上一个 下一个