在做嵌入式开发时,我们经常需要交叉编译,conan2可以通过新增profile,在profile配置交叉编译工具链,然后在conan build指定profile就可以进行交叉编译,具体步骤如下:
1.首先在profiles下新增目标平台配置,默认情况下是只有default,下面是一个example profile文件:
[settings]
os=Linux
arch=armv8
compiler=gcc
build_type=Release
compiler.cppstd=gnu14
compiler.libcxx=libstdc++11
compiler.version=9
[buildenv]
CC=aarch64-linux-gnu-gcc-9
CXX=aarch64-linux-gnu-g++-9
LD=aarch64-linux-gnu-ld
这里我已经安装好了,aarch64交叉编译工具链,根据目标平台选择不同的交叉编译工具链,然后下面咱们进行静态编译配置。
2.在conanfile.py中新增
def configure(self):self.options["*"].shared = False
新增后的完整conanfile.py,大致如下: