交叉编译Android和依赖项

时间:2014-11-14 06:33:37

标签: android c android-ndk arm cross-compiling

我正在尝试更详细地理解交叉编译过程。所以我所知道的是,如果我们有任何C / C ++库,我们可以交叉编译它们来制作* .a或* .so文件并通过JNI使用它们在android。

让我们说我们有一个库源代码让DCMTK源代码(一个dicom工具包)依赖于libpng / libxml2和许多其他.DCMTK使用CMake作为构建系统。

所以我理解的是,如果我想在android中使用DCMTK,我需要交叉编译它。我通过CMake-GUI运行该过程并通过cmake-android脚本设置交叉编译。所以它确实为android arm arch指出了正确的编译器等。

但我在过程中看到cmake从我的linux系统中获取了许多库,例如:libpng / libxml2。

问题:因为cmake需要一些来自linux的二进制文件(它们是为linux系统编译而不是android)系统而且我们只交叉编译DCMTK而不是它们的依赖关系所以它将如何工作?我是否应该使用交叉编译器交叉编译依赖项?

1 个答案:

答案 0 :(得分:1)

是的,所有DCMTK依赖项必须交叉编译并链接到bionic C库,它们都必须是最终应用的一部分。