【发布时间】:2023-10-12 15:44:01
【问题描述】:
我正在尝试为 arm 交叉编译 extundelete linux 包。我想在我的 Android 设备上运行它。
当我尝试运行./configure 时,它会显示Can't find ext2fs library。我发现问题是 extundelete 需要 ext2fs 库。这个库在 e2fsprogs 包中。
所以我尝试交叉编译 e2fsprogs。静态编译是不可能的,因为似乎 e2fsprogrs 需要 --enable-elf-shlibs 才能正确运行 make 命令。我已经用命令构建了 e2fsprogrs:
"./configure --host=arm-none-linux-gnueabi" CC=arm-none-linux-gnueabi-gcc --enable-elf-shlibs && make && make install && make install-libs.
它运行正确,我得到了交叉编译的 e2fsprogs。问题是这是动态编译库,我不知道如何将它传递给 extundelete 交叉编译,然后我必须将哪些档案复制到我的 android 设备。
我认为需要链接我在 e2fsprogs 交叉编译中获得的 .so .a 文件是可能的,但我不明白如何做到这一点。
在我的一次冒险交叉编译 extundelete 中,我得到了二进制 arm extundelete 文件,但它是动态链接编译的并使用共享库。我尝试将 extundelete 二进制文件和 .so 文件从 e2fsprogs 复制到我的 Android 设备,但它无法正常运行。
谁能帮我了解动态交叉编译的奇妙世界?
【问题讨论】:
标签: android compilation arm libraries