首页 > 解决方案 > 问题 OpenSSL library not found 为 android ABI 构建 PJSIP 项目

问题描述

我正在使用 Ubuntu 上的 OpenSSL 为 Android ABI(armeabi,x86_64,x86)构建 PJSIP 项目。我厌倦了通过PJSIP 文档HereGithub repo上的给定步骤构建 OpenSSL Android ABI(armeabi, x86_64, x86) 。

我已成功为 Android ABI 构建 OpenSSL 并创建了静态库 (*.a)。现在,通过创建的静态库(libCrypto.a and libssl.a),我开始为 Android ABI 构建 PJSIP 项目,并./Configure Android按照他们的文档中提到的相应 ABI 设置 OpenSSL 目录路径。

当我在终端中查看生成的日志时,我发现了消息“ OpenSSL library not found. OpenSSL disabled”

我注意到我正在使用 (.a) 库的一件事,而我看到许多建议正在使用(libcrypto.so and libssl.so),如果这是问题,我想知道生成.so库以构建 OpenSSL 项目的步骤。

标签: androidopensslpjsip

解决方案


我遇到了同样的问题[在 Mac OS 为 Android 构建],我修复它的方法是将我正在执行的特定 android 拱门的输出复制到 openssl 目录的 lib 文件夹,它似乎有效。

我复制的文件是:libcrypto.a、libssl.a [不确定我是否需要所有这些文件,也许有人知道??]

这里也提到了: pjsip

当我在 openssl 构建中更改为 no-shared 时,我只构建了所有 4 个架构

 ./Configure $SSL_TARGET $OPTIONS -fuse-ld="$TOOLCHAIN/$TRIBLE/bin/ld"   no-shared no-ssl2 no-ssl3 no-comp no-hw no-engine
make depend && make all && \
make install DESTDIR=$DESTDIR || exit 128

我还找到了一个链接,我认为该链接解释了为什么在使用共享选项时出现错误:

openssl RPATH


推荐阅读