Android下的“openssl / aes.h:没有这样的文件或目录”

时间:2016-02-17 12:15:13

标签: android c++ android-ndk openssl cross-compiling

我正在尝试编译到android环境。因此我得到以下错误:

error: openssl/aes.h: No such file or directory

我在堆栈中找到了一些解决方案但是,我不知道如何结束进程以便能够编译。

我已经编译了openssl的一个版本我应该添加libs吗?或者我如何生成* .a?

您知道如何将此库添加到我需要运行的 arm-linux-androideabi-g ++ 中才能传递此问题?

2 个答案:

答案 0 :(得分:1)

[1] 获取其include文件夹中包含 aes.h文件的openssl库。

[2] 如果您已在lib文件夹中编译了openssl库,则将 -lssl或-lopenssl 添加到命令行。

答案 1 :(得分:1)

在这里你可以找到openssl包括:openssl

下载此包含并将它们放在项目的某个文件夹中,即project_dir / module_dir / jni / openssl-includes。

然后你需要在你的Android.mk中设置一个LOCAL_C_INCLUDES变量(它也在jni文件夹中: LOCAL_C_INCLUDES + = ./openssl-includes

之后,您可以直接按名称将文件包含在openssl-includes文件夹中,即:

#include <aes.h>

如果需要* .a文件作为输出,则应在Android.mk中包含BUILD_STATIC_LIBRARY,如果需要* .so lib,请包含BUILD_SHARED_LIBRARY。