2011-11-22 3 views
2

Je suis en train de croiser compile extundelete linux package pour arm. Je veux l'exécuter dans mon appareil Android. Lorsque j'essaie d'exécuter ./configure, il est Can't find ext2fs library. J'ai trouvé que le problème est extundelete nécessite une bibliothèque ext2fs. Cette bibliothèque est dans le paquet e2fsprogs. J'ai donc essayé de compiler croisé e2fsprogs. La compilation statique n'est pas possible car il semble que e2fsprogrs ait besoin de --enable-elf-shlibs pour lancer la commande make correctement. J'ai construit e2fsprogrs avec la commande:cross compilation e2fsprogs pour le bras

"./configure --host=arm-none-linux-gnueabi" CC=arm-none-linux-gnueabi-gcc --enable-elf-shlibs && make && make install && make install-libs. 

Il fonctionne correctement et je reçois des e2fsprogs compilés croisés. Le problème est ceci obtenant des bibliothèques compilées dinamically et je ne sais pas comment le passer à la compilation croisée extundelete et alors quelles archives je dois copier sur mon appareil android.

Je pense qu'il est possible de lier les fichiers .so .a que je reçois dans e2fsprogs, mais je ne comprends pas exactement comment faire cela.

Dans l'une de mes aventures cross compiling extundelete j'ai obtenu le fichier binary bras extundelete mais cela a été compilé dynamiquement lié et utilise des bibliothèques partagées. J'ai essayé de copier des fichiers binaires et .so exundelete depuis e2fsprogs vers mon appareil Android, mais cela ne fonctionne pas correctement. Quelqu'un peut-il m'aider à comprendre le monde merveilleux de la compilation croisée dynamique?

Répondre

1

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

0

Sachez que la nouvelle version (1.43 par exemple) n'utilise plus --with-cc ou --with-ldopts. --with-linker n'est plus utilisé non plus.

Utilisez CC = et LDFLAGS = à la place. exemple:

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

Cheers!