我使用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)
请帮助我!!
答案 0 :(得分:5)
在Debian或Ubuntu上遇到此问题时,可以使用以下命令解决:
protected void Button13_Click(object sender, EventArgs e)
{
List<string> itemList = new List<string>();
Label2.Text = string.Empty;
for (int i = 0; i < ASPxGridView1.VisibleRowCount; i++)
{
if (ASPxGridView1.Selection.IsRowSelected(i))
{
itemList.Add(ASPxGridView1.GetSelectedFieldValues("ID").ToString());
}
}
Label2.Text = string.Join("<br />", itemList);
}
答案 1 :(得分:1)
您的Android.mk
应该指定openssl包含目录(不是/usr/include/openssl
,而是指定使用NDK为Android构建的文件的目录。类似于
LOCAL_C_INCLUDES += /home/Charan/openssl/include
但您还需要指定已构建的.so
个文件的路径,并确保它们已正确部署到您的应用中。事情可能会变得混乱,但幸运的是有一个有效的例子:openSSL using Android's NDK problems。
答案 2 :(得分:0)
我在使用PECL构建PHP包时遇到了这个问题,并且可以将头文件安装为 openssl-devel
的一部分在CentOS / RHEL上:yum install openssl-devel
在Ubuntu / Debian上:apt-get install openssl-devel