• 6833阅读
  • 7回复

【提问】在QTE2.3.x用qextserialport串口类应作怎样的修改? [复制链接]

上一主题 下一主题
离线wjydlut
 

只看楼主 倒序阅读 楼主  发表于: 2006-03-15
我在QT3上编译下载的qextserialport没问题 ,但在QTE2.3.10下编译就出现如下错误:
qextserialbase.h:174: ISO C++ forbids declaration of `Offset' with no type
qextserialbase.h:174: `Offset' declared as a `virtual' field
qextserialbase.h:174: parse error before `(' token
qextserialbase.h:205: ISO C++ forbids declaration of `Q_LONG' with no type
qextserialbase.h:205: `Q_LONG' declared as a `virtual' field
qextserialbase.h:205: parse error before `(' token
qextserialbase.h:206: ISO C++ forbids declaration of `Q_LONG' with no type
qextserialbase.h:206: `Q_LONG' declared as a `virtual' field
qextserialbase.h:206: declaration of `int QextSerialBase::Q_LONG'
qextserialbase.h:205: conflicts with previous declaration `int
  QextSerialBase::Q_LONG'
qextserialbase.h:206: parse error before `(' token
qextserialbase.h:206: duplicate member `QextSerialBase::Q_LONG'
In file included from mainwindow.cpp:27:
posix_qextserialport.h:28: syntax error before `;' token
posix_qextserialport.h:43: ISO C++ forbids declaration of `Offset' with no type
posix_qextserialport.h:43: `Offset' declared as a `virtual' field
posix_qextserialport.h:43: parse error before `(' token
posix_qextserialport.h:63: ISO C++ forbids declaration of `Q_LONG' with no type
posix_qextserialport.h:63: `Q_LONG' declared as a `virtual' field
posix_qextserialport.h:63: parse error before `(' token
posix_qextserialport.h:64: ISO C++ forbids declaration of `Q_LONG' with no type
posix_qextserialport.h:64: `Q_LONG' declared as a `virtual' field
posix_qextserialport.h:64: declaration of `int Posix_QextSerialPort::Q_LONG'
posix_qextserialport.h:63: conflicts with previous declaration `int
  Posix_QextSerialPort::Q_LONG'
posix_qextserialport.h:64: parse error before `(' token
posix_qextserialport.h:64: duplicate member `Posix_QextSerialPort::Q_LONG'
mainwindow.cpp: In function `int main(int, char**)':
mainwindow.cpp:89: cannot allocate an object of type `Posix_QextSerialPort'
mainwindow.cpp:89:   because the following virtual functions are abstract:
/qt_tool/qte-host-2.3.10/include/qiodevice.h:119:     virtual uint
  QIODevice::size() const
/qt_tool/qte-host-2.3.10/include/qiodevice.h:126:     virtual int
  QIODevice::readBlock(char*, unsigned int)
/qt_tool/qte-host-2.3.10/include/qiodevice.h:128:     virtual int
  QIODevice::writeBlock(const char*, unsigned int)
make: *** [mainwindow.o] Error 1

试着修改qiodevice.h 的内容把unit int 前的virtual去掉这些错误都没有了 ,但是其它的库可能调用了
qiodevice 又有其它的错误 ,那为知道怎么修改 ,请指点一下 .
[ 此贴被wjydlut在2006-03-16 09:31重新编辑 ]
离线wjydlut

只看该作者 1楼 发表于: 2006-03-16
编译通过了 !
离线sunxiaoming
只看该作者 2楼 发表于: 2006-03-16
楼主顺便贴下怎么处理的啊
可以参考下嘛
离线wjydlut

只看该作者 3楼 发表于: 2006-03-16
修改后只是在QTE2.3.10编译通过 ,但不能保证 使用时不出错呀.

我怎么才能上传 ?贴出来太多了
离线gege
只看该作者 4楼 发表于: 2006-04-16
贴出来看看啊。
linux...嵌入式...征途中...
离线zhuguoxin8

只看该作者 5楼 发表于: 2009-03-18
那位说一下,我也编译不了
zgx8
离线wandersky
只看该作者 6楼 发表于: 2009-08-26
顶,说一下,我也遇到这样的问题
离线ooyoyo
只看该作者 7楼 发表于: 2009-09-12
Q_LONG的数据类型编译器不认识,可以跟进到源码里面把数据类型改成linux对应的标准类型,我是这么做的,可以用。
快速回复
限100 字节
 
上一个 下一个