完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
飞凌嵌入式S5PV210开发板Qtopia2.2.0环境搭建(三)——编译第三方库
S5PV210开发板(Cortex-A8)4.1 编译 编译qtopia-free-forlinx-2.2.0 前确认已经把您刚 才制作的/root/yizhi/ARMinclude 下的文件放到交叉编译器目录 “arm-none-linux-gnueabilibcusrinclude” 里面,所有的库文件放到交叉编译器安装目录的“arm-none-linux-gnueabilibcusrlib” 文件夹下面 另外需要注意的是用官方提供的 Qtopia2.2.0 源代码编译出来的版本,主界面的图标下会出现一条虚线,影响美观, 将ARM-qtopia-free-src-2.2.0.tar.gz解压到 /root/yizhi 文 件 夹 后(yizhi 是自己建立的文件夹), 打开qtopia-free-2.2.0/qtopia/src/qt/qconfig-qpe.h 文件,在里面增加以下内容即可解决虚线的问题: #define QT_NO_QWS_GFX_SPEED 修改脚本脚本里面有编译时需要的环境变量: #gedit build
注意:编译过程中产生的状态信息将记录到当前目录下的 qtopia2.2.0Makelog 文件里面, 如果编译过程中产生了大量的错误信息,打开该文件,查找 error 关键字进行问题的定位,里面记录的信息对您很有帮助,有时焦点不会停留在出现错误的位置,这时查看日志文件就很重要了。 4.2 常见bug 4.2.1 open函数缺少必要的参数 错误信息: In function ‘int open(const char*, int, ...)’, inlined from ‘QMemoryFileData* QMemoryFile::openData(const QString&, int, uint)’ at tools/qmemoryfile_unix.cpp:143:54: /usr/include/i386-linux-gnu/bits/fcntl2.h:51:26: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments 修改: 文件路径:(此错误有两处) ./root/yizhi/qtopia-free-2.2.0/qt2/src/tools/qmemoryfile_unix.cpp ./root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia/qmemoryfile_unix.cpp 找到:(大概在141行)
修改为:
4.2.2缺少头文件错误 错误信息: ../include/qmap.h:107:13: error: ‘ptrdiff_t’ does not name a type ../include/qmap.h:223:13: error: ‘ptrdiff_t’ does not name a type ../include/qvaluelist.h:88:13: error: ‘ptrdiff_t’ does not name a type ../include/qvaluelist.h:164:13: error: ‘ptrdiff_t’ does not name a type make[2]: *** [.obj/release-shared-mt/qapplication_x11.o] Error 1 修改方法: 搜索到qmap.h和qvaluelist.h文件后加上: #include 搜索文件命令: find –name “qmap.h” 4.2.3 使用未定义的类 错误信息: /root/yizhi/qtopia-free-2.2.0/qt2/include/qwindowsystem_qws.h:230: error: 'QWSInputMethod' has not been declared /root/yizhi/qtopia-free-2.2.0/qt2/include/qwindowsystem_qws.h:237: error: 'QWSGestureMethod' has not been declared make[1]: *** [allmoc.o] Error 1 修改: #cd /root/yizhi/qtopia-free-2.2.0/qt2/src/kernel #gedit qwindowsystem_qws.h 在前面增加以下两行 class QWSInputMethod; class QWSGestureMethod; 保存退出,继续编译
4.2.4缺少uuid库 Creating pngscale...make[1]: Entering directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscal' .................................................................make[1]: *** [../../bin/pngscale] Error 1 make[1]: Leaving directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscal' Failed to make pngscale 修改方法: apt-get install uuid-dev 4.2.5缺少系统头文件 错误信息: kernel/qpixmapcache.cpp:125: fatal error: asm/page.h: No such file or directory compilation terminated. make[1]: *** [tmp/release-shared-linux-arm-g++-no-keypad/kernel/qpixmapcache.o] Error 1 make[1]: Leaving directory `/root/yizhi/qtopia-free-2.2.0/qt2/src' 修改: 路径(两个地方): /root/yizhi/qtopia-free-2.2.0/qt2/src/kernel/qpixmapcache.cpp ./root/yizhi/qtopia-free-2.2.0/dqt/src/kernel/qpixmapcache.cpp 第125行 修改为: #define PAGE_SHIFT12 #define PAGE_SIZE(1UL << PAGE_SHIFT) #define PAGE_MASK(~(PAGE_SIZE-1)) //#include//PAGE_SIZE,PAGE_MASK,PAGE_ALIGN 这样修改是因为新的 Linux 内核源代码中已经不包含该头文件了。 4.2.6 this指针 错误信息: root/yizhi/qtopia-free-2.2.0/qt2/include/qvaluestack.h:57:6: error: cannot convert ‘QValueList /root/yizhi/qtopia-free-2.2.0/qt2/include/qvaluestack.h: In member function ‘T QValueStack::pop() [with T = QString]’: xml/qxml.cpp:2532:57: instantiated from here /root/yizhi/qtopia-free-2.2.0/qt2/include/qvaluestack.h:57:6: error: cannot convert ‘QValueList::Iterator {aka QValueListIterator}’ to ‘const char*’ for argument ‘1’ to ‘int remove(const char*)’ make[1]: *** [tmp/release-shared-linux-g++/xml/qxml.o] Error 1 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qt2/src/tools/qvaluestack.h(57行) 将 remove( this->fromLast() );改为 this->remove( this->fromLast() ); 保存退出 4.2.7 缺少文件 错误信息: ../../../include/qtopia/custom-qtopia.h:1: fatal error: ../../src/libraries/qtopia/custom-linux-arm-g++.h: No such file or directory compilation terminated. make[5]: *** [.obj/release-shared/qpeapplication.o] Error 1 修改: 路径: /yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia 进入该路径后执行以下命令: Cp custom-linux-ipaq-g++.cpp custom-linux-arm-g++.cpp cp custom-linux-ipaq-g++.h custom-linux-arm-g++.h
4.2.8一类出现较多的错误 4.2.8.1 错误信息: qdawg.cpp:294: error: extra qualification 'QDawgPrivate::' on member 'QDawgPrivate' 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia/qdawg.cpp(294行) 去掉'QDawgPrivate::' 4.2.8.2 错误信息: thumbnailview_p.h:81: error: extra qualification 'ThumbnailItem::' on member 'paintItem' 修改: 路径: /root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia2/thumbnailview_p.h(81行) 去掉'ThumbnailItem::' 4.2.8.3 错误信息: abtable_p.h:276: error: extra qualification 'PhoneTypeSelector::' on member 'addType' 修改: 路径: /root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim/abtable_p.h(276行) 去掉'PhoneTypeSelector::' 4.2.8.4 错误信息: numberentry_p.h:106: error: extra qualification 'NumberEntryDialog::' on member 'eventFilter' 修改: 路径 /root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim/numberentry_p.h(106行) 去掉'NumberEntryDialog::'
4.2.8.5 错误信息: videoviewer.cpp:52: error: extra qualification 'SimpleVideoWidget::' on member 'SimpleVideoWidget' 修改: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/mediaplayer/videoviewer.cpp (52行) 去掉'SimpleVideoWidget::'
4.2.8.6 错误信息: ablabel.h:78: error: extra qualification 'AbLabel::' on member 'decodeHref' 修改: 路径: /root/yizhi/qtopia-free-2.2.0/qtopia/src/applications/addres***ook/ablabel.h(78行) 去掉'AbLabel::' 4.2.8.7 错误信息: minefield.h:105: error: extra qualification 'MineField::' on member 'setState' minefield.h:106: error: extra qualification 'MineField::' on member 'placeMines 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/games/minesweep/minefield.h(105 106行) 去掉'MineField::' 4.2.8.8 buttoneditordialog.h:56: error: extra qualification 'ButtonEditorDialog::' on member 'actionFor' 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/settings/buttoneditor/buttoneditordialog.h(56行) 去掉'ButtonEditorDialog::' 4.2.8.9 packagewizard.h:106: error: extra qualification 'PackageWizard::' on member 'current' 修改: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/settings/qipkg/packagewizard.h(106行) 去掉'PackageWizard::'
4.2.8.10 keyboard.h:60: error: extra qualification 'KeyboardPicks::' on member 'KeyboardPicks' 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/plugins/inputmethods/keyboard/keyboard.h(60行) 去掉~ KeyboardPicks前面的'KeyboardPicks::' 4.2.8.11 polished.h:58: error: extra qualification 'PolishedDecoration::' on member 'drawBlend' 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/plugins/decorations/polished/polished.h(58行) 去掉'PolishedDecoration::'
4.2.8.12 inputmethods.cpp:86: error: extra qualification 'IMToolButton::' on member 'IMToolButton' 修改: 路径: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/server/inputmethods.cpp(86行) 去掉'IMToolButton::'
4.2.9类型转换错误 4.2.9.1 backend/vobject.cpp:419: error: invalid conversion from 'const char*' to 'char*' 修改: ./root/yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia/backend/vobject.cpp(419行) 改为:char *dot = (char *)strrchr(g,'.'); 4.2.9.2 wavplugin.cpp:435: error: invalid conversion from 'const char*' to 'char*' 修改: /root/yizhi/qtopia-free-2.2.0/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp(435行) 改为:char *ext = (char *)strrchr( path.latin1(), '.' );
4.2.10库文件位置 /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_read_raw' /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_open' /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_fd' /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_config' /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_close' /root/yizhi/qtopia-free-2.2.0/qtopia/lib/libqte.so: undefined reference to `ts_read' 修改: 把/usr/local/tslib下的相关库 libts-0.0.so.*类 拷到/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib下面 以上是在飞凌嵌入式S5PV210 OK210开发板上的操作。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【飞凌嵌入式OK3588J-C开发板体验】OK3588J-C开发板开箱评测
2919 浏览 1 评论
[技术] 【飞凌嵌入式OK3576-C开发板体验】llama2.c部署
7261 浏览 0 评论
7726 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】ssh连接与文件传输
7654 浏览 0 评论
9093 浏览 0 评论
6811浏览 2评论
11220浏览 1评论
5309浏览 1评论
85524浏览 1评论
679浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:46 , Processed in 0.555575 second(s), Total 39, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号