ARM Linux 交叉编译

编译选项

-I

 //指定头文件的目录

默认的头文件目录是工具链里的include目录

默认的库文件目录是工具链里的lib 目录(文件最多的lib目录) /lib   /usr/lib   /usr/local/lib  

-L  

-l  指定使用哪一个so动态库

-ljpeg 使用libjpeg.so这个动态库

默认头文件木

usr/local/inlcue

/usr/include

find ./ -name "stdio.h"     

/arm-linux/include/stdio.h

gcc -i  include -o  hello hello.c

file libjpeg.so.62.0.0 

/arm-linux/lib

tar xjf vim-7.1.tar.bz2

tar xzf vim.tar.gz

./configure --help  | grep host

./configure --host=arm -linux --prefix=$PWD/tmp

--host :指定交叉编译工具链

--prefix 指定安装路径

make

make install   //默认安装到PC 本机/usr  /usr/local

找到这个文件config.log分析 

3.常见错误

 缺头文件

 ./configure  

2,2 没有configure

直接修改makefile ,把gcc改为arm-linux-gcc    

   解决方法 : 编译libudev 或者 去掉udev功能

下载libudev 后 ,把它的头文件、库文件放入工具链里的include ,lib

把库文件发到开发板根文件系统的lib

./confgigure --host=arm-linux --prefix=$PWD/tmp --disable-udev   && make && make install 


一般缺头文件,则缺乏某个库文件


cp -drf * 拷贝连接

《20141030_交叉编译应用程序.WMV》

你可能感兴趣的:(ARM Linux 交叉编译)