首页 文章

致命错误:openssl / evp.h没有这样的文件或目录

提问于
浏览
2

我使用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)

请帮我!!

3 回答

  • 1

    在Debian或Ubuntu上遇到此问题时,可以使用以下命令解决:

    apt-get install libssl-dev

  • 1

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

    LOCAL_C_INCLUDES += /home/Charan/openssl/include
    

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

  • 3

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

    在CentOS / RHEL上: yum install openssl-devel

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

相关问题