TOOLCHAIN_HOST_TASK 比 TOOLCHAIN_TARGET_TASK
TOOLCHAIN_HOST_TASK Vs TOOLCHAIN_TARGET_TASK
我很抱歉这个幼稚的问题。我无法理解这些 Yocto 变量之间的区别。手册说
TOOLCHAIN_HOST_TASK: Lists packages that make up the host part of the
SDK (i.e. the part that runs on the SDKMACHINE). When you use bitbake
-c populate_sdk to create the SDK, a set of default packages apply. This variable allows you to add more packages.
和
TOOLCHAIN_TARGET_TASK: Lists packages that make up the target part of
the SDK (i.e. the part built for the target hardware).
我不明白 SDK 的主机部分和 SDK 的目标部分有什么区别?
据我了解,Host部分就是我们在自己的host PC上进行扩展,用于交叉开发。 SDK 的目标部分是什么?
添加到TOOLCHAIN_TARGET_TASK
的配方将针对目标架构进行交叉编译,并包含在SDK中的目标sysroot中。
添加到 TOOLCHAIN_HOST_TASK
的配方将在开发者机器上构建到 运行。
因此,如果您希望某个库在 SDK 中可用,以便您可以开发链接到它的应用程序,请将其添加到 TOOLCHAIN_TARGET_TASK
。然后交叉编译库及其头文件将在 SDK 中可用。
另一方面,如果您有构建过程中需要的工具,例如代码生成器或 cmake,请将其添加到 TOOLCHAIN_HOST_TASK
,以便在构建目标期间在开发人员机器上可用软件。
我很抱歉这个幼稚的问题。我无法理解这些 Yocto 变量之间的区别。手册说
TOOLCHAIN_HOST_TASK: Lists packages that make up the host part of the SDK (i.e. the part that runs on the SDKMACHINE). When you use bitbake -c populate_sdk to create the SDK, a set of default packages apply. This variable allows you to add more packages.
和
TOOLCHAIN_TARGET_TASK: Lists packages that make up the target part of the SDK (i.e. the part built for the target hardware).
我不明白 SDK 的主机部分和 SDK 的目标部分有什么区别?
据我了解,Host部分就是我们在自己的host PC上进行扩展,用于交叉开发。 SDK 的目标部分是什么?
添加到TOOLCHAIN_TARGET_TASK
的配方将针对目标架构进行交叉编译,并包含在SDK中的目标sysroot中。
添加到 TOOLCHAIN_HOST_TASK
的配方将在开发者机器上构建到 运行。
因此,如果您希望某个库在 SDK 中可用,以便您可以开发链接到它的应用程序,请将其添加到 TOOLCHAIN_TARGET_TASK
。然后交叉编译库及其头文件将在 SDK 中可用。
另一方面,如果您有构建过程中需要的工具,例如代码生成器或 cmake,请将其添加到 TOOLCHAIN_HOST_TASK
,以便在构建目标期间在开发人员机器上可用软件。