MiniGUI1.6.10交叉编译配置以及开发板移植-Ubunbu11.10



下载相关的压缩包:

http://sourceforge.net/project/showfiles.php?group_id=231764&package_id=281013&release_id=617949。

1 安装zlib
 
  由于Zlib库的configure脚本不支持交叉编译选项,只好自己动手将gcc修改城只想我们的交叉编译器,我的版本为arm-vfp-linux-gnu-gcc,命令行如下:
cd /usr/bin              
sudo mv gcc gcc-back     
sudo mv ld ld-bak
sudo ln -s /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc ./gcc
sudo ln -s /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-ld  ./ld

cd ~/libs/zlib-1.2.3/
  2 ./configure --prefix=/opt/libs --shared
  3 make
  4 sudo make install
后将编译器改回去
cd /usr/bin
sudo rm gcc
sudo rm ld
sudo mv gcc-bak gcc
sudo mv ld-bak ld
完成后检查/opt/libs下相应的头文件和lib目录下是否有关于zlib的文件;
存在表示安装完成,否则,手动拷贝;
2 安装libpng-1.2.8tar
  zxvf libpng-1.2.8.tar.gz
  cd libpng-1.2.8
  因为png库没有configure 所以从scripts中拷贝合适的makefile来用
  cp scripts/makefile.linux  ./
  cp makefile.linux  makefile
  修改makefile中
   CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc
   prefix=/opt/libs
   ZLIBLIB=/opt/libs/lib
   ZLIBINC=/opt/libs/include
   保存退出后执行
   make  
   sudo make install
3 安装libjpeg
执行下面配置文件:
  1 #!/bin/sh
                                                                    
  2 ./configure  CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc-4.4.3 --    build=i386-linux --host=arm-linux --target=arm-linux prefix=/opt/libs --enab    le-shared
  3 make
  4 sudo make install
问题1:
creating ./config.status
creating Makefile
creating jconfig.h
./libtool --mode=compile arm-linux-gcc -O2  -I. -c ./jcapimin.c
make: ./libtool:命令未找到
make: *** [jcapimin.lo] 错误 127
./libtool --mode=compile arm-linux-gcc -O2  -I. -c ./cjpeg.c
make: ./libtool:命令未找到
make: *** [cjpeg.lo] 错误 127
    
 将libtools下的两个文件烤过来
 cp /usr/share/libtool/config/config.sub  ./
 cp /usr/share/libtool/config/config.guess  ./
如果没有安装libtools 则执行
sudo  apt-get install libtool 进行安装后再拷贝

问题2:
/usr/bin/install -c -m 644 ./cjpeg.1 /opt/libs/man/man1/cjpeg.1
/usr/bin/install: 无法创建普通文件"/opt/libs/man/man1/cjpeg.1": 没有那个文件或目录
make: *** [install] 错误 1

/opt/libs文件夹下创建目录man/man1
cd /opt/libs/man
sudo mkdir man1

问题3:./libtool --mode=install /usr/bin/install -c cjpeg /opt/libs/bin/cjpeg
/usr/bin/install -c .libs/cjpeg /opt/libs/bin/cjpeg
/usr/bin/install: cannot create regular file `/opt/libs/bin/cjpeg': No such file or directory
make: *** [install] 错误 1
解决方法:

共享目录下, 依次创建文件夹 bin   lib   include  jpeg6 重新运行 即可。 

4 交叉编译minigui
  1 #!/bin/sh
  2 ./configure  CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc-4.4.3 \
  3     --build=i386-linux \
  4     --host=arm-linux  \
  5     --target=arm-linux \
  6     --disable-galqvfb \
  7     --disable-galecoslcd \
  8     --disable-vbfsupport \
  9     --prefix=/opt/libs --enable-shared
 10 make
 11 sudo make install
出现问题
/usr/include/features.h:323:26: error: bits/predefs.h: No such file or directory
解决:
sudo apt-get install gcc-multilib

出现问题:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
解决:sudo cp /usr/include/i386-linux-gnu/gnu/stubs-32.h   /usr/include/gnu

问题3:
../libtool: 行 4763: arm-linux-ranlib: 未找到命令

分析:arm交叉编译器的目录我已经放到PATH中,用echo $PATH可以查看
      执行make install时加了sudo,变成root的工作环境和root权限
      所以make install 是root下做的,而arm-linux-ranlib是在其他用户的工作环境下才能找到,所以产生上面问题;
解决:将sudo chmod 777 /opt/libs

      将脚本的sudo make install 中的sudo去掉


5 向开发板移植
  sudo cp -rf /opt/libs   /home/xxx/nfsboot (nfs目录)
  在开发板上挂载共享目录
  mount -t nfs  本机IP:/home/xxx/nfsboot /mnt -o nolock
  cp /mnt/libs/include   /usr
  cp /mnt/libs/lib/lib*.so   /usr/lib
  cp /mnt/libs/etc           /usr/local/
  mkdir  /usr/local/lib
  cp -rf /mnt/minigui        /usr/local/lib




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为伊痴狂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值