为arm64/arch64交叉编译zlib



我必须在适用于Android arm64/arch64的x86_64 Ubuntu系统上交叉编译zlib,因为我想在应用程序中使用它。我从官方网站上得到了zlib(1.2.13版(。在文件夹内我执行

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是否真的是解决方案,或者只是缺少了什么。

感谢Mark Adlers的建议,我找到了解决方案。尽管系统找到了gcc,但有必要显式地将gcc设置为编译器。

解决方案是:

CC=gcc CHOST=arm64 ./configure

相关内容

  • 没有找到相关文章

最新更新