为arm编译交叉编译e2fsprogs

问题描述:

我想交叉编译arm编译extundelete linux包。我想在我的Android设备上运行它。为arm编译交叉编译e2fsprogs

当我试图运行./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。问题是这是得到图书馆dinami编译,我不会如何通过它extundelete交叉编译,然后什么档案我不得不复制到我的Android设备。

我认为这是可能的需要链接.so .a文件我在e2fsprogs交叉编译中得到,但我不明白如何做到这一点。

在我的冒险之一交叉编译extundelete我得到二进制臂extundelete文件,但这是编译动态链接和使用共享库。我试图将extundelete binary和.so文件从e2fsprogs复制到我的Android设备,但它无法正常运行。

任何人都可以帮助我了解动态交叉编译的精彩世界吗?

../configure --host = arm-none-linux-gnueabi -with-cc = arm-none-linux-gnueabi-gcc -with-linker = arm-none-linux-gnueabi-ld - -with-ldopts = - static --prefix =/tmp/target

请注意,较新版本(例如1.43)不再使用--with-cc或--with-ldopts。 --with-linker也不再使用。

改为使用CC =和LDFLAGS =。 示例:

./configure --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc LDFLAGS=--static --prefox=/target/dirctory 

干杯!