2015-07-05 102 views
1

我有一个使用-lpcap,-lm和-lpthread的c程序。我在/ usr/arm-linuxgnueabi/lib /中看到这些库。但是,如果我编译使用命令交叉编译C程序为Android

arm-linux-gnueabi-gcc -static *.c -L/usr/arm-linux-gnueabi/lib/ -lpcap -lm -lpthread -o dumps/forandroid 

它提供了以下错误:

/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find crt1.o: No such file or directory<br> 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory<br> 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpcap<br> 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lm<br> 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpthread 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc<br> 
collect2: error: ld returned 1 exit status 

我怎样才能给库路径是否正确?我正在尝试编译运行android 5.1的android模拟器的程序。我使用薄荷17.2 64位和机器。

回答

0

我使用ndk toolchain解决了这个问题。我为arm-linux编译了libpcap并使用了库。以下命令执行该作业:

arm-linux-androideabi-gcc --sysroot=/home/shahrear/Android/ndk/platforms/android-21/arch-arm -fpie -fpic -I./pcap -I. *.c -L./lib -pie -lm -lpcap -o dumps/forandroid