用于android的交叉编译c程序



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

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模拟器编译程序。我使用的是mint17.264位amd机器。

我使用ndk工具链解决了这个问题。我为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

相关内容

  • 没有找到相关文章

最新更新