如何在 yocto 中使用外部工具链
Posted
技术标签:
【中文标题】如何在 yocto 中使用外部工具链【英文标题】:How to use external toolchain with yocto 【发布时间】:2020-10-12 11:48:26 【问题描述】:我以前想使用我的平台工具链。 但是更改工具链对我来说并不容易。 我不知道 yocto 是否允许使用外部工具链 我该怎么办?
非常感谢
步骤:
-
克隆 poky 和元外部工具链
克隆https://github.com/BPI-SINOVOIP/BPI-W2-bsp.git到/tmp
修改/添加 conf/local.conf
3.1 修改 MACHINE ??= "qemux86" 为 MACHINE ??= "qemuarm64"
3.2 添加EXTERNAL_TOOLCHAIN = "/tmp/BPI-W2-bsp/toolchains/asdk64-4.9.4-a53-EL-3.10-g2.19-a64nt-160307"
将 meta-external-toolchain 路径添加到 conf/bblayers.conf
运行 bitbake xz -e | grep CC=
我收到了消息
export CC="aarch64-poky-linux-gcc -march=armv8-a+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/tmp/poky/build/tmp/work/aarch64-poky-linux/xz/5.2.4-r0/recipe-sysroot"
但我想用这个 gcc 来构建包
/tmp/BPI-W2-bsp/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
如何修改??
【问题讨论】:
【参考方案1】:yocto 支持外部工具链。您可以通过将值设置为 TCMODE
和 EXTERNAL_TOOLCHAIN
变量(参考 Yocto ref-manual)来做到这一点。从此meta-sourcery中查找更多关于设置外部工具链的信息
【讨论】:
感谢您的回答。我从 poky 中找到了一个元 (git.yoctoproject.org/cgit.cgi/meta-external-toolchain)。我尝试在 local.conf 中设置 EXTERNAL_TOOLCHAIN = "/tmp/BPI-W2-bsp/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu" ,但没有成功。工具链来源:github.com/BPI-SINOVOIP/BPI-W2-bsp/tree/master/toolchains/…以上是关于如何在 yocto 中使用外部工具链的主要内容,如果未能解决你的问题,请参考以下文章
在 MSYS 环境中使用 MSVC 工具链(例如:CL.EXE)时,如何避免“未解析的外部符号 _mainCRTStartup”错误?