【发布时间】:2019-11-13 03:05:46
【问题描述】:
我的目标是在我的主机上交叉编译一个带有 Yocto SDK 的代码文件,使其在我的目标板上可执行。我正在使用 SUMO Yocto 版本和 GCC 7.3 交叉编译器。
首先,为了得到 YOCTO 交叉编译,我创建了一个文件 Hello.c :
#include <stdio.h>
int main(void)
{
printf ("Hello World!\n");
return 0;
}
我编译了执行的文件:
make hello
现在我有了一个可以在我的目标板上执行的编译文件。
但现在我有多个 .h 文件和多个 .cpp 文件和一个主文件。
当我像这样执行主文件时:
make main
发生错误:
main.cpp:10:10: 致命错误: boost/asio.hpp: 没有这样的文件或目录 包括 ^~~~~~~~~~~~~~~~ 编译终止。 : 目标'main'的配方失败 make: *** [main] 错误 1
我认为 Boost 和 asio.hpp 有问题。 我的 Yocto Linux 映像中是否包含 boost 库? asio.hpp 有什么问题? 请问我该如何解决? 谢谢
【问题讨论】:
-
你能分享你的 Makefile 吗?您是否检查过该头文件是否确实在您的 SDK rootfs 中?
-
你可能需要添加类似
TOOLCHAIN_TARGET_TASK += "boost-dev" -
我将变量
TOOLCHAIN_TARGET_TASK += "boost-dev"添加到local.conf 文件中? -
是的,local.conf 没问题
-
我将
TOOLCHAIN_TARGET_TASK += "boost-dev"和IMAGE_INSTALL_append = " boost"添加到 local.conf 。现在没有错误。谢谢
标签: boost sdk boost-asio yocto