wince ./configure

CPPFLAGS="-I/usr/wince/include -D_WIN32_WCE=0x0500"
LDFLAGS="-L/usr/wince/lib"



./configure
--host=arm-mingw32ce 指定软件运行的系统平台;host就是你编译好的程序可以运行的平台
--target-os=mingw32ce 指定软件面向(target to)的系统平台.这主要在程式语言工具如编译器和汇编器上下文中起作用.假如没指定,将使用’--host’选项的值;挺
target就是你编译的程序可以处理的平台;
–build=BUILD 指定软件包安装的系统平台;build就是你正在使用的机器
--arch=arm
指定软件运行的系统平台
--enable-cross-compile --cross-prefix=/cygdrive/d/cegcc/mingw32ce/bin/(注意这里可能需要改成你的目录)arm- mingw32ce-

--prefix=/ffmpeg4wince


build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处理的平台.这个build和host比较好理解,但是target就不好办了,到底什么意思呢?一般来说,我们平时所说的交差编译用不到他target的,比如./configure --build=i386-linux,--host=arm-linux就可以了,在386的平台上编译可以运行在arm板的程序.但是,一般我们都是编译程序,而不是编译工具,如果我们编译工具,比如gcc,这个target就有用了.如果我们需要在一个我们的机器上为arm开发板编译一个可以处理 mips程序的gcc,那么target就是mips了.
在gcc编译中我们使用
./configure
--build=编译平台 --host=运行平台 --target=目标平台
那么在这组配置参数中: 
--build: 表示目前我们正在运行的平台名称是什么,如果当前我们是在intel的pentium机器中编译该系统,那么我们的--build就可能
是i686-pc-linux-gnu 
--host:表示我们把这个编译好的gcc在什么样的平台下运行,在交叉编译过程中这个需要我们来指定,因为机器自己是不能知道我们心里是怎么想的,
那么我们可以明确的告诉它,我们要做出来的程序是运行在“龙芯”上的,但是目前还不能直接指定“龙芯”,因此我们这里指定为mips64el-unknown-linux-gnu
-host也可以不指定,那么host将自动使用build来定义自己,不过那将不再是交叉编译。--host:指定目标机的平台类型。一般格式为CPU类型-操作系统名称。比如,目标机的CPU为arm,操作系统为linux,可以这样写--host=arm-linux。
build和host相同时表示本地编译,若不相同则表示交叉编译。

交叉编译的概念
先解释两个概念:主机:运行编译过程的计算机。目标机:运行编译结果(可执行文件)的计算机。一般情况下,主机和目标机是同一类型的计算机,这就是正常的编译,没有什么好说的。所谓交叉编译就是在主机上为目标机编译,比如在PC上编译,然后在手机上运行,这种编译就叫交叉编译。交叉编译需要交叉编译器,不同的目标机(主要是看芯片类型)需要不同的交叉编译器,比如我们这里要介绍的arm-linux交叉编译,所用的交叉编译器就是arm-linux-gcc系列


--prefix:编译结果放置的位置。默认值是/usr或者/usr/local,交叉编译时不能使用默认值,否则它会覆盖你本机的文件,所以要指定一个路径。

CPPFLAGS:C/C++预处理器命令行参数
LDFLAGS:linker flags
CC :C编译器命令
CFLAGS : C编译器命令行参数

./configure -help >con11.txt可以将配置选项的帮助写进con11.txt中

你可能感兴趣的:(config)