2011-11-22 6 views
2

팔을위한 extundelete 리눅스 패키지를 컴파일하려고합니다. 내 안드로이드 장치에서 실행하고 싶습니다.팔을위한 e2fsprogs를 교차 컴파일

./configure을 실행하려고하면 Can't find ext2fs library이라고 표시됩니다. extundelete에 ext2fs 라이브러리가 필요하다는 문제점을 발견했습니다. 이 라이브러리는 e2fsprogs 패키지에 있습니다.

그래서 저는 e2fsprogs를 컴파일하려고 시도했습니다. make 명령을 올바르게 실행하려면 e2fsprogrs에 --enable-elf-shlibs이 필요하기 때문에 정적 컴파일이 가능하지 않습니다. 나는 명령을 e2fsprogrs을 구축 한 : 그것은 제대로 실행 내가 크로스 컴파일하는 e2fsprogs를 얻을

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

. 문제는 이것들이 dinamically 컴파일 된 라이브러리를 얻는 것입니다. 그리고 크로스 컴파일을 extundelete에 전달하는 방법을 모르겠습니다. 그런 다음 내 안드로이드 장치에 복사해야하는 아카이브는 무엇입니까?

필자는 .so .a 파일을 링크해야 할 필요가 있다고 생각합니다. e2fsprogs 교차 컴파일을 사용하고 있지만 정확하게 작성하는 방법을 이해하지 못합니다.

내 모험 중 하나에서 extundelete를 십자형으로 컴파일했습니다. 이진 파일 extundelete 파일이 있지만이 파일은 동적으로 링크되어 컴파일되었으며 공유 라이브러리를 사용합니다. extundelete 바이너리와 .so 파일을 e2fsprogs에서 내 안드로이드 장치로 복사하려고 시도했지만 올바로 실행되지 않습니다.

누구나 동적 크로스 컴파일의 놀라운 세계를 이해하는 데 도움이 될 수 있습니까?

답변

1

../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

0

최신 버전 (예 : 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 

건배!

관련 문제