我正在使用Buildroot(2017.02.5)来构建自定义交叉编译工具链。我有两个buildroot配置;一个用于构建RFS,另一个用于构建工具链。我有这样配置的东西因为我不想重建工具链,除非我故意重建它 - 构建RFS的配置引用这个工具链作为外部工具链。
通常,构建的工具链工作正常,但我有一些#include
<openssl/md5.h>
的现有应用程序(Linux用户空间)。当我尝试编译它时,我得到一个"<openssl/md5.h>: No such file or directory"
错误,这是预期的,因为生成的工具链的sysroot目录不包含openssl目录。
如何让buildroot在工具链中包含openssl?我所做的所有搜索似乎都指向为我的嵌入式目标交叉编译openssl,这不是问题。问题是我需要将它包含在工具链中。
我有目标套餐 - &gt;图书馆 - &gt;加密 - &gt; openssl设置为y,但我不认为这在这种情况下有任何不同,因为我认为它只与RFS有关(并且有问题的defconfig不构建RFS,只有工具链)。
我可以在buildroot树之外编译OpenSSL并将其安装到sysroot目录,但这似乎不正确,因为它会污染sysroot。
我确信我在这里缺少一些简单的东西 - 任何帮助都会受到赞赏。
答案 0 :(得分:0)
在进一步阅读了buildroot文档之后(非常好),我认为在Target packages
下选择的包实际上会被推入工具链的sysroot
(或者应该在至少)这是有道理的。这似乎不起作用的原因是因为我做make toolchain
而不是make all
(或只是一个简单的make
)。这些包没有用前者构建,因此它们不在工具链的sysroot
中。