我一直在使用 Yocto SDK 为 Yocto 编译 C 和 C++ 代码,这样每台机器都不需要 150GB+ 的 Bitbake 环境。 Yocto 版本是 2.4 (Rocko)
现在我想为 Golang 提供相同的功能,但我不知道该怎么做。
如果我在 Bitbake 机器上,我可以调用目录 tmp/work/x86_64-linux/go-cross-arm/下的二进制 arm-arch-gnueabi-go 二进制文件来编译代码。但是,如果我将这些二进制文件复制到另一台机器,它会链接到 Bitbake 机器上具有硬编码路径的库,这样就无法工作。
当我在图像上运行 populate_sdk 时,有没有办法在 SDK 中包含 arm-arch-gnueabi-go?或者是否有另一种简单的方法可以在其他机器上为目标编译 Go?
最佳答案
您可以在 local.conf
文件或图像配方中添加以下行:
TOOLCHAIN_HOST_TASK_append = " \
packagegroup-go-cross-canadian-${MACHINE} \
"
TOOLCHAIN_TARGET_TASK_append = " \
${@multilib_pkg_extend(d, 'packagegroup-go-sdk-target')} \
"
关于go - 如何将 go-cross 添加到 Yocto SDK?或者在其他机器上为 Yocto 编译 Go?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57370142/