参考了网上很多的资料,终于还是搞定了, 把自己学习过程总结下
一些主要的库的移植:
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) |