交叉编译的安卓arm-v7-a C代码中的静态libpcap



我需要从最新的libpcap构建一个静态库,并将其"包含"在C源代码中,以便为ARM-v7-a架构(Nexus One)进行交叉编译。

我已经试了好几天了,希望有人能给我一个提示。

我不能使用NDK和Java包装器函数。它需要像:

$-o prog prog.c[-options]稍后我将能够通过adb推送可执行文件。

我已经尝试过通过apt-get安装CodeSourcery和arm-linux-gnueabi(我在KubuntuLinux上),但都没有正常工作。

我所能达到的最大目标是通过创建一个愚蠢的helloworld文件

arm linux gneabi gcc-static-o prog prog.c

它是在我的智能手机下执行的。

你知道我可以得到一个更复杂的程序,包括libpcap吗?我认为它应该处理libpcap目录中的.a或.so文件,但我真的不明白。。。提前感谢

编辑-已解决 :正如auselen所说,我已经尝试过NDK独立工具链,并且我已经成功了。

这就是我所做的,以防有人遇到同样的问题:

1) 下载Android SDK和NDK(后者此时为r8d版本)

2) 进入NDK文件夹并键入

cd构建/工具

make-standalone-tolchain.sh--平台=android-3--安装目录=$HOME/new_toolchain-ndk目录=YOUR_ndk_PATH

cd$HOME/new_toolchain

(我已经把我的helloworld.c文件放在这个文件夹中,但为了提高效率,你当然可以在.bashrc文件中添加PATH)

bin/arm linux androidabi gcc helloworld.c-o helloworld

3) 通过adb将其推入您的设备。

现在一切正常:)再次感谢

由于Android使用不同的运行时(仿生),因此最好使用NDK,它具有相应的链接应用程序的必要组件。

NDK允许您将其作为一个独立的工具链运行,因此您可以通过其sysroot功能直接启动gcc

一个重要的提示是不要在调用gcc时指定的路径中使用~,这并不友好。

相关内容

  • 没有找到相关文章

最新更新