我使用两种不同的yocto版本为IMX6构建了图像。以下是详细信息。
#curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
#repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.10.53-1.1.0_ga
#repo sync
#bitbake core-image-minimal
#curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
#repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga
#repo sync
#bitbake core-image-minimal
yocto更新@ http://pastebin.com/Jx7HtANR
的两个版本的工具链树结构我使用两个不同的yocto版本构建的工具链编译了以下示例程序。
#include <stdio.h>
int main(void)
{
return 0;
}
但使用yocto版本2构建的工具链会出现以下错误。
test.c:1:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^
compilation terminated.
使用yocto版本1构建的工具链正在搜索头文件 &#34; build / tmp / sysroots / imx6qsabresd / usr / include&#34; ,但使用yocto版本2构建的工具链不会在&#34; build /下搜索头文件tmp / sysroots / imx6qsabresd / usr / include&#34; ,所以它给出了错误。
您能帮忙吗,为什么使用yocto版本2构建的工具链不会在&#34; build / tmp / sysroots / imx6qsabresd / usr / include&#34; 下搜索头文件。
在哪里更改yocto中的工具链配置以包括上述搜索路径。
答案 0 :(得分:3)
在较新版本中,基于OpenEmbedded的构建系统会在生成的交叉编译器中对内置的sysroot定义进行中毒。原因是我们想要检测不符合交叉编译环境的应用程序。
解决方案是不直接使用AustinAccount.balance
,而是使用${CROSS_COMPILE}-gcc
。 $CC
,当由生成的SDK中的环境设置脚本设置时,将添加正确的sysroot参数。