Yocto 元工具链致命错误:stdio.h:没有这样的文件或目录

Mat*_*Asp 3 gcc cross-compiling yocto

问题:如何将标准库添加到 arm-fslc-linux-gnueabi-gcc

背景:我刚刚meta-toolchain在 Yocto 项目中进行了bitbake 编译。然后我安装了生成的 SDK 工具链

$ ./build/tmp/deploy/sdk/fslc-framebuffer-glibc-x86_64-meta-toolchain-armv7at2hf-neon-toolchain-2.4.2.sh

然后将 SDK 工具链安装在 /opt/fslc-framebuffer/2.4.2/

然后我可以轻松地运行可执行文件来获取正确的环境变量。

$ ./opt/fslc-framebuffer/2.4.2/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi

我现在可以访问交叉编译器 arm-fslc-linux-gnueabi-gcc

到现在为止还挺好...

然后我在这里从 NXP 下载了准系统 SDK 。这是一部伟大的作品,但它可能有点过时了。首先解压缩文件,然后按照 SDK readme.pdf 中的步骤进行操作。

在 readme.pdf 之后,我执行以下操作: 要构建 SDK,请使用根文件夹中的 ./tools/build_sdk 命令。我收到多个错误,但它们都与标准库有关,例如:

iMX6_Platform_SDK/sdk/drivers/accelerometer/src/mma8451.c:31:10: fatal error: string.h: No such file or directory #include <string.h> 
iMX6_Platform_SDK/sdk/include/sdk.h:40:10: fatal error: stdio.h: No such file or directory #include <stdio.h>
Run Code Online (Sandbox Code Playgroud)

那么我该如何解决呢?我是交叉编译标准库还是在其他地方获取二进制文件?

yoc*_*com 7

yocto 构建的 SDK 与普通的 arm 工具链略有不同。
我相信你用过
arm-fslc-linux-gnueabi-gcc hello.c
但实际上你需要Makefiles or Macros像下面这样使用,

${CC} hello.c -o hello
Run Code Online (Sandbox Code Playgroud)

将其直接写入终端或放入生成文件中。