Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318244
  • 博文数量: 68
  • 博客积分: 1501
  • 博客等级: 上尉
  • 技术积分: 1010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-30 09:52
文章分类

全部博文(68)

文章存档

2010年(1)

2009年(67)

我的朋友

分类:

2009-05-27 14:49:38

参考了网上很多的资料,终于还是搞定了, 把自己学习过程总结下
 
一些主要的库的移植:
libjpeg, libjpng, libttf, zlib 网上很多资料都有,略过
 
主要介绍使用 2410触摸屏的IAL 与 MINIGUI 的移植
 
1. libminigui-1.6.10
 
首先修改IAL/2410.C 文件,
 
参考huangsihua的博客:
修改好minigui的引擎文件后就可以对minigui进行重新编译了,因为用到了 tslib 库,所以必须在编译的时候告诉 MiniGUI 到哪里去找到 tslib 相关的头文件和共享库文件。
 
我编译的时候不知道为什么编译器不是到arm-linux-gcc 的默认目录下面去寻找头文件与库文件,最后发现应该把上面的那些libjpeg,libpng,libts库文件放到
/crosstool/arm-linux/arm-linux/lib,[inlcude] 目录下才能编译成功
 
 
嫌麻烦,所以我把头文件取出来放到/home/minigui/inlcue[lib] 下,并且使用"-I./   -L./" 指定编译的路径:
具体做法如下所示:
 
root# ./configure --build=i386-linux CC=arm-linux-gcc --host=arm-linux --target=arm-linux --prefix=/home/minigui --diable-vbfsupport CFLAGS="-I/home/minigui/inlcude -L/home/minigui/lib -lts"
 
 触摸屏tslib 库文件编译后,把它的头文件与库文件放在            
 /home/minigui/inlcude,lib 目录下,
 
CFLAGS 标志:通过指定这个标志,告诉编译器应该到哪里去找 tslib 有关的头文件和共享库文件, -lts 则告诉链接器最后生成的 MiniGUI 的共享库文件最后要和 ts 库(ts touchscreen 的缩写)链接。
将生成的minigui的库从/usr/local/arm/3.4.1/arm-linux/lib  COPY/opt/FriendlyARM/mini2440/root_nfs/lib下。
 
2. 编译 mge-sample 例子程序:
 
root# arm-linux-gcc -o helloworld helloworld.c -lminigui -lpthread -I/home/minigui/inlcude -L/home/minigui/lib -lm -lc
 
如果 不使用 -lm ,会出现未定义数学库的定义:
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `sqrt'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `floor'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `ceil'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `asin'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `cbrt'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `log'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `ceilf'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `acos'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `sin'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `hypot'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `pow'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `atan2'
/home/jin/arm-linux/lib/libminigui.so: undefined reference to `cos'
阅读(2309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~