如何使用android交叉编译工具链编译静态链接应用程序



我正在尝试为arm设备编译fbgrab fbgrab网站。

我设法用这个命令构建了它

arm-linux-androideabi-gcc --sysroot=$NDK_ROOT/platforms/android-8/arch-arm/ -lz  -lm  -I../zlib -I../lpng  -W -Wall   -o fbgrab fbgrab.c ../zlib/libz.a ../lpng/libpng.a

但它是动态链接的,我现在不知道如何在设备上安装共享库

localhost:fbgrab-1.0 anatoly$ file fbgrab
fbgrab: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

所以我需要用静态链接库来构建它当我尝试使用-static选项时,编译失败,并显示此消息ld: cannot find -lz,尽管共享库位于指向目录中

这里有什么问题?如何构建静态链接二进制?或者如何在设备上安装共享库?

您可以通过在项目中包含共享库的源代码并使用NDK工具构建它们,或者通过包含预构建的共享库来轻松安装共享库。也可以使用NDK进行静态链接。查看NDK目录中的这些文档:

/android-ndk-r7/docs/PREBUILTS.html
/android-ndk-r7/docs/android-MK.html

希望能有所帮助!

最新更新