Buildroot里面工具链与OpenSSL的

问题描述:

我使用Buildroot里面(2017年2月5日),以建立一个定制的交叉编译工具链。我有两个buildroot配置;一个建立RFS,一个纯粹建立工具链。我以这种方式配置了一些东西,因为我不想重新构建工具链,除非我故意重建它 - 构建RFS的配置将此工具链作为外部工具链引用。Buildroot里面工具链与OpenSSL的

通常,构建的工具链工作正常,但我有一些现有的应用程序(Linux用户空间),其中#include<openssl/md5.h>。当我尝试编译这个时,我得到一个"<openssl/md5.h>: No such file or directory"错误,这是预期的,因为生成的工具链的sysroot目录不包含openssl目录。

我怎样才能让buildroot的包括工具链OpenSSL的?我所做的所有搜索似乎都指向为我的嵌入式目标交叉编译openssl,这不是问题。问题是我需要将它包含在工具链中。

我有目标包 - >库 - >加密 - > openssl设置为y,但我不认为这在这种情况下有任何区别,因为我相信它只涉及RFS(和defconfig有问题不建立RFS,只有工具链)。

我可以编译OpenSSL中的buildroot树的外面,将其安装到SYSROOT目录,但这似乎并不正确,因为它会污染SYSROOT。

我敢肯定,我失去了一些东西简单这里 - 任何帮助,将不胜感激。

+0

它的存在。您需要根据Buildroot为您的定制软件创建一个包。 – 0andriy

在进一步阅读了buildroot文档(非常好)之后,我发现在Target packages下选择的包实际上确实被推入了工具链的sysroot(或者至少应该是),这是合理的。这似乎没有奏效的原因是因为我在做一个make toolchain而不是make all(或只是一个简单的make)。这些软件包没有和前者一起构建,所以他们不在工具链的sysroot中。

+0

在Buildroot 2017.08中,您还可以执行'make sdk'来构建所有包,并使结果可重定位。但是,您必须确保您自己的rootfs中的openssl与您的SDK中的openssl完全相同。 – Arnout