我使用的是open-ssl源碼,在https://github.com/eighthave/openssl-android 構建了一個可以在android項目中使用的庫。爲平臺2.1構建Android-openssl庫
按在README.txt中給出的指示,我能夠編譯它的Android平臺版本2.2(級-8)
但我的應用程序需要它是2.1(級-7)兼容。
我試圖在與default.properties文件(https://github.com/eighthave/openssl-android/blob/master/default.properties)
1)設定的目標=機器人-7
2)設定的目標選項=機器人-5-
但是,當我編譯它使用命令ndk-build,它給出以下錯誤
Compile thumb : crypto <= dsa_vrf.c
Compile thumb : crypto <= dso_dl.c
Compile thumb : crypto <= dso_dlfcn.c
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c: In function 'dlfcn_pathbyaddr':
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: 'Dl_info' undeclared (first use in this function)
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: (Each undeclared identifier is reported only once
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: for each function it appears in.)
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: expected ';' before 'dli'
/Crypto/openssl-android/crypto/dso/dso_dlfcn.c:455: error: 'dli' undeclared (first use in this function)
make: *** [obj/local/armeabi/objs/crypto/dso/dso_dlfcn.o] Error 1
根據錯誤消息 - Dl_info未定義。但如果我們轉到文件dso_dlfcn.c,則已經提供了該結構的定義。 (https://github.com/eighthave/openssl-android/blob/master/crypto/dso/dso_dlfcn.c)
而這段代碼在默認屬性文件中編譯爲target = android-8,但不適用於android-7或android-5。
請求你幫我解決這個錯誤。並讓我知道爲了將其編譯爲android 2.1平臺而需要做的所有更改。
在此先感謝。
你也有[OpenSSL和安卓(https://開頭wiki.openssl.org/index.php/Android)。 – jww