qtopia2.2编译问题

错误1:

In file included from ../include/qmap.h:46:0,
                 from kernel/qmime.h:43,
                 from kernel/qevent.h:45,
                 from kernel/qobject.h:45,
                 from kernel/qwidget.h:43,
                 from kernel/qdesktopwidget.h:40,
                 from kernel/qapplication.h:42,
                 from kernel/qapplication_x11.cpp:64:
../include/qvaluelist.h:88:13: 错误: ‘ptrdiff_t’不是一个类型名
../include/qvaluelist.h:164:13: 错误: ‘ptrdiff_t’不是一个类型名
In file included from ../include/qmap.h:46:0,
                 from kernel/qmime.h:43,
                 from kernel/qevent.h:45,
                 from kernel/qobject.h:45,
                 from kernel/qwidget.h:43,
                 from kernel/qdesktopwidget.h:40,
                 from kernel/qapplication.h:42,
                 from kernel/qapplication_x11.cpp:64:
../include/qvaluelist.h:424:13: 错误: ‘ptrdiff_t’不是一个类型名
In file included from kernel/qmime.h:43:0,
                 from kernel/qevent.h:45,
                 from kernel/qobject.h:45,
                 from kernel/qwidget.h:43,
                 from kernel/qdesktopwidget.h:40,
                 from kernel/qapplication.h:42,
                 from kernel/qapplication_x11.cpp:64:
../include/qmap.h:107:13: 错误: ‘ptrdiff_t’不是一个类型名
../include/qmap.h:223:13: 错误: ‘ptrdiff_t’不是一个类型名
In file included from kernel/qmime.h:43:0,
                 from kernel/qevent.h:45,
                 from kernel/qobject.h:45,
                 from kernel/qwidget.h:43,
                 from kernel/qdesktopwidget.h:40,
                 from kernel/qapplication.h:42,
                 from kernel/qapplication_x11.cpp:64:
../include/qmap.h:604:13: 错误: ‘ptrdiff_t’不是一个类型名
kernel/qapplication_x11.cpp: 在函数‘void qt_init_internal(int*, char**, Display*, Qt::HANDLE, Qt::HANDLE)’中:
kernel/qapplication_x11.cpp:2009:8: 警告: 不建议使用‘KeySym XKeycodeToKeysym(Display*, KeyCode, int)’(声明于 /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
kernel/qapplication_x11.cpp:2009:62: 警告: 不建议使用‘KeySym XKeycodeToKeysym(Display*, KeyCode, int)’(声明于 /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
kernel/qapplication_x11.cpp:2039:8: 警告: 不建议使用‘KeySym XKeycodeToKeysym(Display*, KeyCode, int)’(声明于 /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
kernel/qapplication_x11.cpp:2039:66: 警告: 不建议使用‘KeySym XKeycodeToKeysym(Display*, KeyCode, int)’(声明于 /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
kernel/qapplication_x11.cpp: 在成员函数‘int QApplication::x11ProcessEvent(XEvent*)’中:
kernel/qapplication_x11.cpp:3690:54: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
kernel/qapplication_x11.cpp:3703:54: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
kernel/qapplication_x11.cpp: 在成员函数‘bool QETWidget::translateMouseEvent(const XEvent*)’中:
kernel/qapplication_x11.cpp:4119:30: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
kernel/qapplication_x11.cpp: 在成员函数‘bool QETWidget::translateKeyEventInternal(const XEvent*, int&, QString&, int&, char&, int&, QEvent::Type&, bool)’中:
kernel/qapplication_x11.cpp:5158:8: 警告: 建议显式地使用花括号以避免出现有歧义的‘else’ [-Wparentheses]
kernel/qapplication_x11.cpp:5229:52: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
kernel/qapplication_x11.cpp:5232:52: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
kernel/qapplication_x11.cpp: 在函数‘int isPaintOrScrollDoneEvent(Display*, XEvent*, XPointer)’中:
kernel/qapplication_x11.cpp:5521:34: 警告: 建议在‘||’的操作数中出现的‘&&’前后加上括号 [-Wparentheses]
make[2]: *** [.obj/release-shared-mt/qapplication_x11.o] 错误 1
make[2]:正在离开目录 `/opt/x86-qtopia/qtopia-2.2.0-FriendlyARM/dqt/src'
make[1]: *** [sub-src] 错误 2
make[1]:正在离开目录 `/opt/x86-qtopia/qtopia-2.2.0-FriendlyARM/dqt'

在/usr/yizhi/qtopia-free-2.2.0/dqt/include/路径下

打开qmap.h

添加
#include “stddef.h”
#include  <cstddef>
保存退出
再在同样的路径下打开qvaluelist.h添加
#include “stddef.h”
#include  <cstddef>

主要用strrchr函数时,从类型‘constchar*’到类型‘char*’的转换无效,新版本g++不支持报错了。

 

 

错误2

   Creating pngscale...make: Entering directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'
..make: *** [http://www.cnblogs.com/bin/pngscale] Error 1
make: Leaving directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'
Failed to make pngscale
    分析:
         这是因为没有安装uuid和Xmu,因为在编译qtopia2.2.0的过程中需要安装工具uuid(Universally Unique Identifier,)和 xmu库文件。
    解决办法:
            
           apt-get install  uuid-dev:i386
           apt-get install libxmu-dev:i386 libxmu6:i386

 

 

错误3:

如果提示致命错误不能找到<linux/videodev.h>

是因为现在的ubuntu12.04内核include目录中已经不包含videodev.h头文件

解决办法

从工具链的头文件中copy一个到/usr/inlcude/linux目录下即可继续编译。

 

要是拷贝了没用。寻找videodev.h,因为我们要找的是基于v4l的,而不是v4l2。

 

错误4:

出现 forward declaration of “struct QDomElement”

‘QDomNode’ was not  declared in this  scope

修改qtopia-2..2.0-FriendlyARM/qt2/src/tools/qconfig-qpe.h.

qtopia-2..2.0-FriendlyARM/qtopia/src/qt/qconfig-qpe.h.

把 #define QT_NO_DOM  添加注释

//#define QT_NO_DOM 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值