为Android编译openssl类库

本文参考了后面的参考文章对openssl进行编译,基本没有遇到什么问题,但是在使用使用编译的openssl时,遇到如下错误:

ui_openssl.c:function read_string_inner: error: undefined reference to 'signal'

遇到这个问题的人还挺多,有人说APP_PLATFORM :=android-21可以解决问题,试了一下果然,但是我想在4.x上也可以使用,经过一番搜索,这里说到了问题的关键,原来在api21之前,signal是inline方式的,21之后才不是inline。如下:

// android-19

/* the default is bsd */
static __inline__ __sighandler_t signal(int s, __sighandler_t f)
{
    return bsd_signal(s,f);
}


//android-21
extern sighandler_t signal(int, sighandler_t);

找到了原因,那么解决办法就是,将openssl使用低版本的api方式编译,这样就会使用inline方式,后续再引用时,不会再进行链接。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习123

tomcat结合nginx使用小结

46170
来自专栏Java3y

Tomcat+Servlet面试题都在这里

下面是我整理下来的Servlet知识点: ? 图上的知识点都可以在我其他的文章内找到相应内容。 Tomcat常见面试题 Tomcat的缺省端口是多少,怎么修改 ...

46030
来自专栏小白安全

小白博客 linux常用操作命令

常用指令 ls   显示文件或目录      -l 列出文件详细信息l(list)      -a 列出当前目录下所有文件及目录,包括隐藏的a...

30170
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十二):错误信息提示

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

21910
来自专栏Linux技术资源分享

Linux下关于动态库的说明 | 编译以及调用

26940
来自专栏极客编程

node.js + mongodb 原

想写博客很长时间了,因为一直身患懒癌,所以一直拖到了现在。markdown的语法也是刚刚学,试验一下效果 好了不说了,直接上干货了。 -------------...

16840
来自专栏专注研发

linux常用命令

     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)

23910
来自专栏Java帮帮-微信公众号-技术文章全总结

Linux常用命令

Linux常用命令 常用指令 ls   显示文件或目录 -l 列出文件详细信息l(list) -a ...

59260
来自专栏IT可乐

Linux系列教程(四)——Linux常用命令之文件和目录处理命令

  这个系列教程的前面我们讲解了如何安装Linux系统,以及学习Linux系统的一些方法。那么从这篇博客开始,我们就正式进入Linux命令的学习。学习命令,首先...

22790
来自专栏web编程技术分享

第八节 - 部门管理模块(编写PHP程序)

340100

扫码关注云+社区

领取腾讯云代金券