免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1586 | 回复: 0
打印 上一主题 下一主题

arm交叉编译qt-embedded-linux-opensource-src-4.4.3 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-24 23:30 |只看该作者 |倒序浏览
最近交叉编译了一版qt-embedded,过程以及遇到问题解决方案现贴出来共享一二,欢迎讨论。
到trolltech官方网站下载qt-embedded;
确认tool chain可用;
解压tarball后,根据你自己的硬件平台,修改或者增加gfx, mouse, kbd支持;
src/plugins/gfxdrivers/
src/plugins/mousedrivers/
src/plugins/kbddrivers/
mkdir build-target
cd build-target
../qt-embedded-linux-opensource-src-4.4.3/configure -embedded arm -webkit -qt-gfx-xxx -plugin-gfx-xxx -qt-kbd-xxx -plugin-kbd-xxx -qt-mouse-xxx -plugin-mouse-xxx -optimized-qmake -release -xplatform qws/linux-arm-g++
make
make install
(xxx为硬件平台上的驱动的名称)
遇到几个问题:
在加上cups时,发现编译这个会被configure挡掉,在configure文件里拿掉一些挡掉的语句,发现编译不过,这个时候想起需要事先编译好目标平台的cups库。
安装会将qt编译工具,库,头文件,specs文件等拷贝到/usr/local/Trolltech/QtEmbedded-4.4.3-arm/,当然,你也可以在配置时指定安装路径,否则...
这个时候用/usr/local/Trolltech/QtEmbedded-4.4.3-arm/bin/qmake来为一个demo生成Makefile,打开Makefile一看,发现CC=gcc而不是arm-linux-gcc,这就郁闷了,检查一下PATH,发现arm的toolchain赫然在列,看来问题和toolchain没有关系,出在qmake身上
用这个看一下/usr/local/Trolltech/QtEmbedded-4.4.3-arm/bin/qmake -help,发现有个spec的东东,这个会给目标平台指定一些东东,到/usr/local/Trolltech/QtEmbedded-4.4.3-arm下一看,
ls mkspecs/default -l
mkspecs/default -> qws/linux-arm-g++
没有错阿,难道qmake的源代码有问题?
打开qmake的源代码,看了一半,想了一下,还是去mkspecs目录下试个究竟,将这个目录下的除了common default features qconfig.pri qws其余的删了个遍,然后去重新qmake那个demo,呵呵,这下qmake没有成功,提示说QMAKESPEC(linux-g++)没有找到,晕哦,default不是指向qws/linux-arm-g++吗?除非......对了,环境变量
env一下
果然, QMAKESPEC=linux-g++赫然在列
问题应该是我以前安装的qt定义了这个环境变量,而这里编译出来的qmake也引用了。改掉定义环境变量的地方,发现这次对了,搞定...差点走了弯路,跑去死磕qmake的源代码...
其实qmake -spec default也可以解决问题 (因为mkspecs/default -> qws/linux-arm-g++)
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23800/showart_1740099.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP