我们平时在编译第三方开源库时,通常会遇到两种方式,一种编译脚本是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>
&nbs

本文介绍了在Linux下进行C++交叉编译的方法,包括使用makefile和cmake两种方式。对于makefile,通过配置`configure`脚本的`--host`和`CC`等参数指定交叉编译器。而在cmake中,通过创建`CMAKE_TOOLCHAIN_FILE`自定义编译链路径,实现交叉编译。
最低0.47元/天 解锁文章
778

被折叠的 条评论
为什么被折叠?



