我正在尝试更详细地理解交叉编译过程。所以我所知道的是,如果我们有任何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而不是它们的依赖关系所以它将如何工作?我是否应该使用交叉编译器交叉编译依赖项?