yocto构建了工具链搜索路径问题

时间:2016-07-30 12:21:56

标签: gcc yocto

我使用两种不同的yocto版本为IMX6构建了图像。以下是详细信息。

Yocto Version1:

    #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

Yocto Version2:

    #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中的工具链配置以包括上述搜索路径。

1 个答案:

答案 0 :(得分:3)

在较新版本中,基于OpenEmbedded的构建系统会在生成的交叉编译器中对内置的sysroot定义进行中毒。原因是我们想要检测不符合交叉编译环境的应用程序。

解决方案是不直接使用AustinAccount.balance,而是使用${CROSS_COMPILE}-gcc$CC,当由生成的SDK中的环境设置脚本设置时,将添加正确的sysroot参数。