我想在我的NDK應用程序內部構建Openssl。即使在遵循Android ndk構建所需的所有必要步驟之後,我也會不斷得到鏈接錯誤。我在ndk支持的庫中使用了ndk-build命令。我可以看到libcrypto.So bieng編譯並在命令line.I鏈接成功Android的NDK r8的Openssl構建問題
Compile thumb : crypto <= sha512-armv4.S
SharedLibrary : libcrypto.so
Install : libcrypto.so => /Users/<me>/Downloads/paddybyers-openssl-android-2b40b8b/libs/armeabi/libcrypto.so
但OpenSSL的後,這是失敗的某些原因。我嘗試了所有可能的方式包括基於Eclipse的建築,開始以及甚至試圖單獨建立openssl作爲一個獨立的項目。但它總是停在同一個水平。
- 我的配置:
從使用Mac OS X NDK R8 Openssl的來源:https://github.com/eighthave/openssl-android.git(我試過建立在guardproject https://github.com/guardianproject/openssl-android.git)
它開始之前,拋出一個錯誤在創建libcrypto後編譯openssl。所以
****Compile thumb : ssl <= ssl_algs.c
Compile thumb : ssl <= bio_ssl.c
Compile thumb : ssl <= ssl_err.c
Compile thumb : ssl <= kssl.c
SharedLibrary : libssl.so
Executable : openssl
/Users/me/Documents/android/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: warning: libz.so, needed by ./obj/local/armeabi/libcrypto.so, not found (try using -rpath or -rpath-link)
./obj/local/armeabi/libcrypto.so: undefined reference to `zError'
./obj/local/armeabi/libcrypto.so: undefined reference to `inflateEnd'
./obj/local/armeabi/libcrypto.so: undefined reference to `deflate'
./obj/local/armeabi/libcrypto.so: undefined reference to `deflateInit_'
./obj/local/armeabi/libcrypto.so: undefined reference to `inflate'
./obj/local/armeabi/libcrypto.so: undefined reference to `deflateEnd'
./obj/local/armeabi/libcrypto.so: undefined reference to `inflateInit_'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/openssl] Error 1**** }
如果有人幫我解決這個問題,我真的很感激。
Noo我試過編譯從官方Android組的獨立openssl,正如我所提到的。所以這不太可能是問題所在。但由於 – rana 2012-08-08 05:20:26