我正在使用Buildroot(2017.02.5)构建一个自定义交叉编译工具链。我有两个buildroot配置;一个用于构建RFS,另一个纯粹用于构建工具链。我之所以这样配置,是因为我不希望重建工具链,除非我有意重建它-构建RFS的配置将此工具链作为外部工具链引用。
一般来说,内置的工具链工作良好,但我有一些现有的应用程序(Linux用户空间),#include
的<openssl/md5.h>
。当我试图编译它时,我得到一个"<openssl/md5.h>: No such file or directory"
错误,这是预期的,因为生成的工具链的sysroot目录不包含openssl目录。
如何使buildroot在工具链中包含openssl?我所做的所有搜索似乎都指向为我的嵌入式目标交叉编译openssl,这不是问题。问题是我需要把它包含在工具链中。
我已将目标包-->库-->加密-->openssl设置为y,但我认为这在这种情况下不会有任何区别,因为我认为它只与RFS相关(而且有关的defconfig不构建RFS,只是一个工具链)。
我可以在buildroot树之外编译OpenSSL并将其安装到sysroot目录,但这似乎不正确,因为它会污染sysroot。
我肯定我错过了一些简单的东西-任何帮助都将不胜感激。
最佳答案
在进一步阅读了buildroot文档(这是非常好的)之后,我发现在Target packages
下选择的包实际上会被推到工具链的sysroot
中(或者至少应该是这样),这是有意义的。这看起来不起作用的原因是因为我在做一个make toolchain
而不是make all
(或者只是一个简单的make
)。这些包不是用前者构建的,所以它们不在工具链的sysroot
中。
关于linux - 带有OpenSSL的Buildroot工具链,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45449264/