我必須在我的 x86_64 Ubuntu 系統上為 Android arm64/aarch64 交叉編譯zlib,因為我想在應用程式中使用它。我從官方網站(版本 1.2.13)獲得了 zlib。在我執行的檔案夾內
CHOST=arm64 ./configure
哪個執行沒有錯誤,然后我運行make導致錯誤
/usr/bin/ld: deflate.lo: relocation R_X86_64_PC32 against symbol `_length_code' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:278: libz.so.1.2.13] Error 1
為 x86_64 構建它完全可以正常作業。我在這里缺少任何標志嗎?不確定這recompile with -fPIC實際上是解決方案還是只是缺少某些東西。
uj5u.com熱心網友回復:
感謝Mark Adler的建議,我找到了解決方案。盡管系統找到了 gcc,但還是有必要將 gcc 顯式設定為編譯器。
解決方案是:
CC=gcc CHOST=arm64 ./configure
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/528457.html
