2015-07-05 99 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