开发板:S3C2410
内核:linux-2.6.15.4
需移植如下相关内容:
1. ZLIB库
2. png库
3. JPEG库
4. libttf字体
5. libminigui-1.6.10
6. libminigui-res-1.6.10
7. 文件系统的制作
8. 修改MiniGUI.cfg配置文件
具体编译过程有很多详细介绍,下面是编译中遇到的一些问题:
编译中遇到的一些问题如下:
1. 编译jpeg-lib库时出现找不到libtool,原因是未安装交叉编译的libtool工具,下载一个(如libtool-2.2)交叉编译后安装到你的交叉编译器的可执行程序目录,在jpeg-lib目录下创建libtool连接,如你的libtool放在/usr/local/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/目录,则:
ln –s /usr/local/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/libtool ./libtool
这时又出现类似:libtool:unable to infer tagged configuration.这样的错误,则在Makefile中找到所有LIBTOOL –mode=compile—这样的地方,在LIBTOOL后面加入—tag=CC,重新编译则可通过。
注意在交叉编译libtool时在配置文件中要指定:--host和—build项,如:
--host=arm-unknown-linux
--build=x86_64_linux
2. 编译时出现类似:…Relocation in generic ELF(EM:40)
Code not read symbols:File in wrong format:
可能原因是有些文件用gcc编译,有些文件用arm-linux-gcc编译,从而出现如上错误,另外编译时要指定—host和---build项,执行make clean后重新编译。
3. 编译libminigui-1.6.10时出现:undefined reference to “sem_init”
原因是缺少-lpthread,另外如果出现找不到jpeglib或png库时,是编译时缺少参数-ljpeg或-lpng参数。
4. 使用Busybox制作文件系统时要选用动态编译的形式,不然会有很多麻烦的。
5. 在安装libminigui库时,要将库安装到交叉编译器所在的相关目录,这样才可以正确的引用minigui的头文件。