【问题标题】:Fatal Error: openssl/evp.h No such file or directory致命错误:openssl/evp.h 没有这样的文件或目录
【发布时间】:2012-10-13 00:47:41
【问题描述】:

我使用android ndk build成功编译openssl,.so文件构建成功。

我正在尝试在 android 项目中“包含”构建的 .so 文件。

在下面的行中出现错误:

#include "openssl/evp.h"

致命错误:openssl/evp.h:没有这样的文件或目录 编译终止。 make: * [obj/local/armeabi/objs/iedemo/anotherdemo.o] 错误1

但是,我包含 stdio.h 和 string.h 文件。

我正在探索 /usr/include/openssl 目录,我可以在这里找到所有与 openssl 相关的 .h 文件。并且,stdio.h 和 string.h 文件存在于 /usr/include 目录中。

我也安装了 libssl-dev 包。命令(sudo apt-get install libssl-dev)

请帮帮我!!

【问题讨论】:

    标签: android android-ndk openssl


    【解决方案1】:

    在 Debian 或 Ubuntu 上遇到这个问题,可以用以下命令解决:

    apt-get install libssl-dev

    【讨论】:

      【解决方案2】:

      您的 Android.mk 应指定 openssl 包含目录(不是 /usr/include/openssl,而是与您使用 NDK 为 Android 构建的文件一起使用的目录。类似于

      LOCAL_C_INCLUDES += /home/Charan/openssl/include
      

      但您还需要指定您已构建的.so 文件的路径,并确保它们与您的应用程序正确部署。事情可能会变得一团糟,但幸运的是有一个工作示例:openSSL using Android's NDK problems。

      【讨论】:

      • 是的,亚历克斯,你是对的。我以同样的方式完成了(实际上是试错法)。我还复制了要包含在工作区中的文件,并为 .so 文件指定了路径。很容易搞砸...
      【解决方案3】:

      我在使用 PECL 构建 PHP 包时遇到了这个问题,并且能够将头文件安装为 openssl-devel

      的一部分

      在 CentOS/RHEL 上:yum install openssl-devel

      在 Ubuntu/Debian 上:apt-get install openssl-devel

      【讨论】:

      • E: Unable to locate package openssl-devel
      【解决方案4】:

      对于像我这样使用windows操作系统的人,他们不小心来到了这个页面,上面的解决方案并没有解决他们的问题,可以试试下面的解决方案:
      我从官方website下载了OpenSSL可执行文件,并选择了描述包含以下行的文件(OpenSSL创建者推荐给软件开发人员)。
      在写这个方案的时候,文件版本是(Win64 OpenSSL v3.0.0),可以直接从下面的link下载。

      这里是更多声明的图片:

      之后,我做了以下步骤:

      1. 从 .exe 文件安装 OpenSSL。
      2. 复制 bin 文件夹目录路径(在我的例子中是 C:\Program Files\OpenSSL-Win64\bin)并将其添加到系统环境变量中。
      3. 复制 include 文件夹目录路径(在我的例子中是 C:\Program Files\OpenSSL-Win64\include)并将其添加到系统环境变量中。

      然后编译使用openssl库和头文件的源代码,编译应该没有错误。

      【讨论】:

        猜你喜欢
        • 2018-10-02
        • 1970-01-01
        • 2020-04-13
        • 2017-09-19
        • 1970-01-01
        • 2022-07-21
        • 2017-05-09
        • 2021-05-15
        • 2014-10-31
        相关资源
        最近更新 更多