主题 : 求助,关于 <qpainter.h> 里面class QPainter,  rotate 函数未定义 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
楼主  发表于: 2010-01-13 15:47

 求助,关于 <qpainter.h> 里面class QPainter,  rotate 函数未定义

小弟,对qt 手册里面提供的例子进行编译,(qtopia 2.2.0),
void CannonField::paintEvent(QPaintEvent *)
           //  void paintEvent(QPaintEvent *);
{
.........QPainter p(this);
    。。。
p.rotate(-ang);//void    rotate( double a );
。。。。。。    
}

/////
开始编译 提示class  Qpainter 未定义rotate 函数,
找到 qt2/include/qpainter.h
里面 有一段:
#ifndef QT_NO_TRANSFORMATIONS
   。。。。
    void    scale( double sx, double sy );
    void    shear( double sh, double sv );
    void    rotate( double a );
#endif

然后试着 到qt2/src/tools/qconfig-qpe.h 把 #define  QT_NO_TRANSFORMATIONS 注释掉

再在 qt2 文件夹、 qtopia文件夹下 make
重新编译。 为的是在 qtopia /lib 下重新生成 libqte.so
可再次编译时出现 如下错提示
.obj/release-shared/cannon.o: In function `CannonField::paintEvent(QPaintEvent*)':
cannon.cpp:(.text+0xd4): undefined reference to `QPainter::rotate(double)'
collect2: ld returned 1 exit status
make: *** [/opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/bin/lcdrange] Error 1


能否提示一下,到底哪出错了。
小弟 先谢了
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
1楼  发表于: 2010-01-13 20:28

 Re:求助,关于 <qpainter.h> 里面class QPainter, rotate 函数未定义

如何重新编译 qte ?在 mini2440提供的 qtopia 2.2.0(arm)
级别: 新手上路
UID: 15567
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2010-03-07
最后登录: 2011-12-10
2楼  发表于: 2010-04-04 18:00

 Re:求助,关于 <qpainter.h> 里面class QPainter, rotate 函数未定义

好像是修改qtopia/src/qt/qconfig-qpe.h,把 #define  QT_NO_TRANSFORMATIONS 注释掉,具体忘了,或者tar之后find查找qconfig-qpe.h,修改即可
三人行
级别: 侠客
UID: 13052
精华: 0
发帖: 71
金钱: 355 两
威望: 71 点
综合积分: 142 分
注册时间: 2010-01-18
最后登录: 2014-11-16
3楼  发表于: 2010-04-06 08:32

 回 2楼(zhengjinye) 的帖子

仁兄,能否再讲的稍微详细一点呢。谢谢。
三人行
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
4楼  发表于: 2010-04-06 14:32

 回 3楼(xinlan_al) 的帖子

qt2/src/tools/qconfig-qpe.h 把 #define  QT_NO_TRANSFORMATIONS 注释掉,
qt2/include/qconfig-qpe.h把 #define  QT_NO_TRANSFORMATIONS 注释掉;
configure ,然后make;
我是那么做的,但是编译可以通过,在开发板上无法运行;
把库函数copy 到mini2440上,开发板无法进入桌面环境。
友善之臂给的答复是环境破坏了,不提供技术支持。。。。。。。。
友善让我很无语,买了三块板子,一个寒假后,有两块不能开机
三人行
级别: 侠客
UID: 13052
精华: 0
发帖: 71
金钱: 355 两
威望: 71 点
综合积分: 142 分
注册时间: 2010-01-18
最后登录: 2014-11-16
5楼  发表于: 2010-04-07 14:43

 回 4楼(2167young) 的帖子

不是吧。狂同情啊。友善还是不要这样搞的好
三人行
级别: 新手上路
UID: 24552
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2010-07-09
最后登录: 2010-10-08
6楼  发表于: 2010-08-10 11:30

 Re:求助,关于 <qpainter.h> 里面class QPainter, rotate 函数未定义

我也遇到这样的问题:需要将窗口拉伸、旋转,却总是告诉我没有此成员。