linux 下的软件编译,通常都是先./configure 出makefile文件的,
configure 可以有很多选项,尤其是交叉编译的时候,常用的如下:
--host= 制定交叉编译工具
./configure --host=arm-linux
这样就会使用arm-linux-gcc进行configure,生成Makefile,执行make 或 make install 之后就会生成arm版的工具和库相关文件。
--prefix= 指定安装目录
安装目录是指make install的时候的安装目录。
默认是打开Makefile的第一行 prefix=/usr/local 目录,如:
./configure --prefix=~/xxha/toolchain
--disable-werror
这个选项如果不加上,make的时候,会把warning 当成error。
加上这个选项这类错误就不会报error了。
./configure --disable-werror
--build , --host 和 --target 比较:
具体解释一下,
build就是你正在使用的机器,
host就是你编译好的程序可以运行的平台,
target就是你编译的程序可以处理的平台.
这个build和host比较好理解,但是target就不好办了,到底什么意思呢?
一般来说,我们平时所说的交差编译用不到他target的,
比如./configure --build=i386-linux,--host=arm-linux就可以了,
在386的平台上编译可以运行在arm板的程序.
但是,一般我们都是编译程序,而不是编译工具,如果我们编译工具,比如gcc,这个target就有用了.
如果我们需要在一个我们的机器上为arm开发板编译一个可以处理mips程序的gcc,那么target就是mips了.
不知道我的解释是否正确,如果大家看到了这篇帖子,觉得不对,批评指正.