我们平时在编译第三方开源库时,通常会遇到两种方式,一种编译脚本是makefile方式,一种是cmake方式,那如何指定对应的交叉链及相关的参数呢?
1、makefile方式
可以通过./configure --help查看相关的参数列表
--build
参数表示目前我们正在运行的平台名称。例如,如果你正在一个Intel的Pentium机器上进行编译,那么--build
可能是i686-pc-linux-gnu
。如果不指定,该参数将自动尝试猜测当前平台的名称。
--host
参数则指定编译出的代码运行的平台。在交叉编译的情况下,这个参数通常与--build
参数不同。--host
也可以不指定,那么它将自动使用--build
来定义自己,但那样就不再是交叉编译了。
--target:编译出来的工具链生成的代码的运行平台。这个选项不常用,一般只在编译gcc、ld等工具链的过程中用到。
CC C compiler command C编译器
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags