2012-11-06 163 views
7

我想了解独立工具链的含义。 以下是我的发现。 准备使用正确路径中系统标题和库的所有配置的工具链。对于Android,它也将在工具链可以查找的路径中包含API头文件。为什么使用“独立”这个词?这可能会不同于普通工具链,因为R T需要配置并准备好android系统和libc头文件路径等。 请评论。什么是独立工具链?

嗯,我正在为android编译并且一个进程正在运行一个名为make-standalone-toolchain.sh的脚本。创建了一个独立的工具链。我正在通过这个脚本来了解它在做什么。不是很擅长shell脚本。但是做出了某些事情。 “”生成一个定制的Android工具链安装,其中包含一个正在运行的sysroot。结果是可以更容易地用作独立交叉编译器的一些东西,例如“--toolchain arch ndk-dir package-dir系统平台变量已设置计算源sysroot SRC_SYSROOT =”$ NDK_DIR/platforms/$ PLATFORM arch- $ ARCH“复制sysroot头文件和库... libstdC++头文件和库...预编译binaries.all到一个临时文件夹,然后从Tmp拷贝dir来安装 dir创建一个tar文件,即添加tmpdir的软件包文件想知道这里发生了什么或者链接或建议到look.but ofcourse不想读得很精细手册 〜

+0

请提供一些有关您尝试过的内容,您的目标是什么,这个问题目前似乎很广泛。 –

+0

这个答案有一个如何使用它的很好的例子:http://stackoverflow.com/a/16784582/895245 –

回答

5

此博客中可以回答你的问题:

http://clseto.mysinablog.com/index.php?op=ViewArticle&articleId=3480794

在Android上建立本机C/C++程序有一个推荐的方法:将源文件列入脚本(Android.mk)并运行'ndk-build'。如果你正在编写新程序,但如果你已经有了一个可以在Linux上编译好的工作构建脚本(比如那些开源软件),那么这可能不是问题,将脚本迁移到Android.mk会让你很头疼。在这种情况下,您只需要一个C/C++交叉编译器,然后将脚本中的变量(如CC,CXX,AR,AS,RANLIB等)替换为'arm-linux-androideabi-gcc' '在arm-linux的-androideabi-G ++',...

Fortunatley中,对 'Android NDK开发指南' 里面,有是一款 '单机工具链',这只是说明我们需要什么....