Yocto meta-toolchain fatal error: stdio.h: No such file or directory
Yocto meta-toolchain fatal error: stdio.h: No such file or directory
问题:如何将标准库添加到arm-fslc-linux-gnueabi-gcc
背景:
我刚刚让 bitbake 编译了 Yocto 项目中的 meta-toolchain
。
然后我安装了生成的 SDK-toolchain
$
./build/tmp/deploy/sdk/fslc-framebuffer-glibc-x86_64-meta-toolchain-armv7at2hf-neon-toolchain-2.4.2.sh
然后在 /opt/fslc-framebuffer/2.4.2/
中安装了 SDK 工具链
然后我可以轻松地 运行 可执行文件来获取正确的环境变量。
$
./opt/fslc-framebuffer/2.4.2/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi
我现在可以使用交叉编译器 arm-fslc-linux-gnueabi-gcc
目前一切顺利...
然后我从 NXP here 下载准系统 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>
那么我该如何解决?我是交叉编译标准库还是在其他地方获取二进制文件?
yocto 构建的 SDK 与普通的 arm 工具链略有不同。
我相信你用过
arm-fslc-linux-gnueabi-gcc hello.c
但实际上你需要像下面这样使用 Makefiles or Macros
,
${CC} hello.c -o hello
将其直接写入您的终端或放入 makefile。
问题:如何将标准库添加到arm-fslc-linux-gnueabi-gcc
背景:
我刚刚让 bitbake 编译了 Yocto 项目中的 meta-toolchain
。
然后我安装了生成的 SDK-toolchain
$ ./build/tmp/deploy/sdk/fslc-framebuffer-glibc-x86_64-meta-toolchain-armv7at2hf-neon-toolchain-2.4.2.sh
然后在 /opt/fslc-framebuffer/2.4.2/
中安装了 SDK 工具链然后我可以轻松地 运行 可执行文件来获取正确的环境变量。
$ ./opt/fslc-framebuffer/2.4.2/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi
我现在可以使用交叉编译器 arm-fslc-linux-gnueabi-gcc
目前一切顺利...
然后我从 NXP here 下载准系统 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>
那么我该如何解决?我是交叉编译标准库还是在其他地方获取二进制文件?
yocto 构建的 SDK 与普通的 arm 工具链略有不同。
我相信你用过
arm-fslc-linux-gnueabi-gcc hello.c
但实际上你需要像下面这样使用 Makefiles or Macros
,
${CC} hello.c -o hello
将其直接写入您的终端或放入 makefile。