[英]Android build PJSIP with openssl
我正在嘗試在具有SSL / TLS支持的Android上構建PJSIP。
我按照此答案成功構建了OpenSSL(沒有fips,作為shared..so庫),並將其安裝在〜/ android(創建了〜/ android / ssl目錄)中。
現在,當我做
./configure-android --with-ssl=/home/andrea/android/ssl
並查看config.log,第一個錯誤狀態
<ndk-directories-and-stuff>/arm-linux-androideabi/bin/ld: warning: libdl.so, needed by /home/andrea/android/ssl/lib/libcrypto.so, not found (try using -rpath or -rpath-link)
接下來是很多未定義的參考。
因此,SSL支持被禁用:
aconfigure:7012: result: ** OpenSSL libraries not found, disabling SSL support **
ac_cv_header_openssl_ssl_h=yes
ac_cv_lib_ssl_SSL_library_init=no
CFLAGS=' -I/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/home/andrea/android/ssl/include'
LDFLAGS=' -nostdlib -L/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/lib/ -L/home/andrea/android/ssl/lib'
ac_no_ssl=''
libssl_present=''
openssl_h_present='1'
但是libdl.so存在於ndk的目錄中:
<ndk-dir>/platforms/android-14/arch-arm/usr/lib/
我想我必須告訴ld其他庫在哪里,ld的建議是什么意思?
try using -rpath or -rpath-link
我不明白什么是-rpath或rpath-link或在哪里應用它們。
有任何想法嗎?
我用OpenSSL成功構建了PJSIP。 請按照以下步驟操作:
首次下載openssl-android ,並通過閱讀自述文件進行編譯。 (將您的android-ndk
放入PATH
並在openssl-android
根目錄中執行命令ndk-build
)然后將libcrypto.so
和libssl.so
從libs/armeabi/
文件夾復制到openssl-android
根目錄下的lib/
文件夾中(您可以創建此文件夾)。 您的目錄結構現在應類似於:
openssl-android/
->apps
->crypto
->include
->jni
->lib
->libs
->...
現在只需在pjsip的根目錄中執行:
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir
為了確認是否包含openssl,只需將此命令通過管道傳遞給grep,例如:
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir | grep -wi ssl
那么您將看到以下result: OpenSSL library found, SSL support enabled
。 這意味着,現在已為您的PJSIP啟用OpenSSL。 現在您可以繼續正常。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.