Android编译OpenSSL库报错ui_openssl.c:function read_string_inner
参考:https://wiki.openssl.org/index.php/Android
在Android NDK环境下编译OpenSSL,基本没有遇到什么问题,但是在使用编译的OpenSSL库时,遇到如下错误:
ui_openssl.c:function read_string_inner: error: undefined reference to 'signal'
解决办法:
APP_PLATFORM := android-21
如果想在4.x上也可以使用,经过一番搜索,这里
说到了问题的关键,原来在API 21之前,signal是inline方式的,API 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方式,后续再引用时,不会再进行链接。
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/android-compile-openssl-library-error-ui-openssl-c-function-read-string-inner/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Android编译OpenSSL库报错ui_openssl.c:function read_string_inner
参考:https://wiki.openssl.org/index.php/Android
在Android NDK环境下编译OpenSSL,基本没有遇到什么问题,但是在使用编译的OpenSSL库时,遇到如下错误:
u……
文章目录
关闭
共有 0 条评论