打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
终于把webkit(基于gtk)移植到arm上

周末哪都没去,在公司呆了两天,终于搞定了。

看到小屏幕上浏览器窗口,心里轻松了,终于完成了。

整个过程是参考

http://ppbabytiger.spaces.live.com/blog/cns!549302309A9552BE!397.entry

头顶盔*手持剑*脚蹬靴,胖小虎...写的 交叉编译 Webkit (基于 GTK + DFB )

很巧的是当初在intel打工时,也是做这个项目,只是没见过博主。

细节的地方做了些改动和纠错

DirectFB用的命令是:

./configure -host=arm-linux --prefix=$ROOTFS_DIR/usr --with-gfxdrivers=none --enable-sdl=no  --disable-x11 "CFLAGS=-I$ROOTFS_DIR/usr/include" "LIBS=-L$ROOTFS_DIR/usr/lib -lz -ljpeg"  && make && make install

glib-2.12.0:
export ARCH=arm
CC=$ARCH-linux-gcc
echo ac_cv_type_long_long=yes>>$ARCH-linux.cache
echo glib_cv_long_long_format=ll>>$ARCH-linux.cache
echo glib_cv_stack_grows=no>>$ARCH-linux.cache
echo glib_cv_uscore=no>>$ARCH-linux.cache
echo ac_cv_func_posix_getpwuid_r=yes>>$ARCH-linux.cache
./configure --prefix=$ROOTFS_DIR/usr --cache-file=$ARCH-linux.cache --build= i686-pc-linux-gnu --target=$ARCH-linux --host=$ARCH-linux && make && make install
glib在做configure时,如果还遇到test xxx过不去,打开configure,查找相应的符号XXX,输入
echo XXX=no>>$ARCH-linux.cache no和yes看情况选吧

cairo-1.4.2
export ARCH=arm
CC=$ARCH-linux-gcc
export CFLAGS="-I$ROOTFS_DIR/usr/include"
export LDFLAGS="-L$ROOTFS_DIR/usr/lib"

 ./configure --prefix=$ROOTFS_DIR/usr --enable-directfb --disable-xlib --disable-win32 --enable-png --enable-freetype --enable-pdf --enable-ps --build= i686-pc-linux-gnu --target=$ARCH-linux --host=$ARCH-linux && make && make install

pango-1.16.2:
export ARCH=arm
CC=$ARCH-linux-gcc
export LDFLAGS="-L$ROOTFS_DIR/usr/lib -Wl,-rpath=$ROOTFS_DIR/usr/lib"
export FREETYPE_CONFIG=$ROOTFS_DIR/usr/bin/freetype-config

./configure --prefix=$ROOTFS_DIR/usr --build= i686-pc-linux-gnu --with-arch=$ARCH --without-x --target=$ARCH-linux --host=$ARCH-linux && make && make install
pango还是有点问题,字体显示还不正常。

 

webkit的地方有一点改动

./configure --prefix=$ROOTFS_DIR/usr --with-target=directfb --without-x --build=i686-pc-linux-gnu --target=$ARCH-linux --host=$ARCH-linux CFLAGS=-I$ROOTFS_DIR/usr/include  CPPFLAGS=-I$ROOTFS_DIR/usr/include

icu_config=$ROOTFS_DIR/usr && make && make install

1.可能出现缺少X11的头文件,搜索下缺少的X11的文件,复制到$ROOTFS_DIR/usr/include下。
2.出现失败信息关于 “u_charType_3_6”, 打开 libJavaScriptCore.la(跟autogen.sh 同一目录下),在dependency_libs 行最末尾添加-licui18n。
继续make
make install
编译完成了在Program/.lib目录下运行./Gtklauncher,就可以看到浏览器窗口了。

几点心得:

1.出问题多重启,很多莫名其妙的问题,重启后就解决了

2.哪个模块遍布过去,删掉该模块和相关的模块,重装。

3.路径问题很麻烦,要搞清本地路径和遍到arm上路径。

4.如果出现C compiler cannot create XXX 等错误,是因为c编译器来回换出现的问题,重新登陆一个终端,如果还有这样的问题,重启就可以解决。

终于在离职前一天编完了,把这段时间工作画上一个句号。虽然后续工作还有很多,已经和我无关了。webkit今后也许不会再接触了。今后会不会再做it,会不会在上海,我也不知道。人生有太多不确定了,自己无法把握,索性就飘啊飘吧。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
交叉编译场景分析(arm-linux)(五)--编译libjpeg和libpng
ARM学习(三十一)转载:内核(2.6.14) 根文件系统 Qt4 移植 for ...
交叉编译场景分析(arm-linux)(四)--编译readline和ncurses - 开发者在线 - www.builder.com.cn
移植Linux内核2.6.32.2到QQ2440开发板
移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)
compile QT for freescale
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服