首页| 论坛| 消息

标题:qt-embedded-2.3.7编译出错,一大堆的错误..
作者:luodan_000
日期:2008-05-29 11:33
内容:

I have problems in trying to build qt-embedded 2.3.7.
g++ version is 4.1.2
O/S: FC8
I am following the instructions included in
qtopia-free-1.7.0/README.html:
Install Qt/Embedded...
  tar xfz qt-embedded-2.3.x.tar.gz
  cd qt-2.3.x
  export QTDIR=$PWD
  export QTEDIR=$QTDIR
  export PATH=$QTDIR/bin:$PATH
  export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
  cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/
  ./configure -qconfig qpe -qvfb -depths 4,8,16,32
  make sub-src
  cd ..
第一个错误
First, I had to add -fpermissive to the CXXFLAGS options in
src/Makefile.in to get around this problem:
/home/olly/qt-2.3.7/include/qsortedlist.h:51: error: there are no
arguments to 'clear' that depend on a template parameter, so a
declaration of 'clear' must be available
/home/olly/qt-2.3.7/include/qsortedlist.h:51: error: (if you use
'-fpermissive', G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
第二个错误
Second, the declaration
  class QWSInputMethod
needed to be inserted at the top of qt-2.3.7/include/qwindowsystem_qws.h
to counter this error:
/home/olly/qt-2.3.7/include/qwindowsystem_qws.h:229: error:
'QWSInputMethod' has not been declared
又出错了
Finally, the make fails in src/kernel/qgfxvfb_qws.cpp:
kernel/qgfxvfb_qws.cpp: In member function 'virtual void QGfxVFb::drawPoint(int, int)':
kernel/qgfxvfb_qws.cpp:143: error: 'is_screen_gfx' was not declared in
this scope
kernel/qgfxvfb_qws.cpp:144: error: 'xoffs' was not declared in this
scope
kernel/qgfxvfb_qws.cpp:144: error: 'yoffs' was not declared in this
scope
kernel/qgfxvfb_qws.cpp: In member function 'virtual void QGfxVFb::drawPoints(const QPointArray&, int, int)':
kernel/qgfxvfb_qws.cpp:153: error: 'is_screen_gfx' was not declared in
this ..


#1 [shiroki 06-06 16:11]
gcc的版本实在是太高了。。。。想编qt2还不得改死
#2 [jiege123 10-21 09:34]
我也是出现这样的错误啊
不晓得怎么解决啊
帮个帮吧
#3 [diskdriver 10-23 09:04]
打个补丁吧!

diff -urN ../tmp-orig/qt-embedded-free-3.1.2/src/tools/qsortedlist.h ./src/tools/qsortedlist.h
--- ../tmp-orig/qt-embedded-free-3.1.2/src/tools/qsortedlist.h 2003-02-24 09:29:51.000000000 +0100
+++ ./src/tools/qsortedlist.h 2004-08-16 21:33:09.379370281 +0200
@@ -49,7 +49,7 @@
public:
QSortedList() {}
QSortedList( const QSortedList &l ) : QPtrList(l) {}
- ~QSortedList() { clear(); }
+ ~QSortedList() { this->clear(); }
QSortedList &operator=(const QSortedList &l)
{ return (QSortedList&)QPtrList::operator=(l); }

diff -urN ../tmp-orig/qt-embedded-free-3.1.2/src/embedded/qgfxtransformed_qws.cpp ./src/embedded/qgfxtransformed_qws.cpp
--- ../tmp-orig/qt-embedded-free-3.1.2/src/embedded/qgfxtransformed_qws.cpp 2003-02-24 09:29:57.000000000 +0100
+++ ./src/embedded/qgfxtransformed_qws.cpp 2004-08-16 21:32:22.081560641 +0200
@@ -584,11 +584,11 @@
inline int tx( int x, int y ) {
switch ( qt_trans_screen->transformation() ) {
case QTransformedScreen::Rot90:
- return y - xoffs + yoffs;
+ return y - this->xoffs + this->yoffs;
case QTransformedScreen::Rot180:
- return (width - x - 1) - xoffs - xoffs;
+ return (this->width - x - 1) - this->xoffs - this->xoffs;
case QTransformedScreen::Rot270:
- return (height - y - 1) - xoffs - yoffs;
+ return (this->height - y - 1) - this->xoffs - this->yoffs;
default:
return x;
}
@@ -596,11 +596,11 @@
inline int ty( int x, i ..
#4 [jidw 11-19 09:20]
怀疑是 GCC版本太高的问题。我忘记在那儿看过一篇文章说,高版本编译低版本的qte 会出问题,应该说的就是你这种。
#5 [eager 12-08 22:41]
你的编译器版本真的过高了,换个2.953.3编译2.3.7比较好点

<< 1 2 3 >> (1/3)

回复 发表
主题 版块