我使用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 回答
在Debian或Ubuntu上遇到此问题时,可以使用以下命令解决:
apt-get install libssl-dev
你的
Android.mk
应该指定openssl include目录(不是/usr/include/openssl
,而是与你使用NDK为Android构建的文件一起使用的目录 . 类似于但是,您还需要指定已构建的
.so
文件的路径,并确保它们已正确部署到您的应用程序中 . 事情可能会变得混乱,但幸运的是有一个有效的例子:openSSL using Android's NDK problems .我在使用PECL构建PHP包时遇到了这个问题,并且能够安装头文件作为 openssl-devel 的一部分
在CentOS / RHEL上:
yum install openssl-devel
在Ubuntu / Debian上:
apt-get install openssl-devel