android - 什么是独立工具链?

标签 android toolchain android-ndk-r5

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

嗯,我正在为 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++ 头文件和库...预构建的二进制文件.all 到临时文件夹中,然后从 Tmp 目录复制以进行安装 dir creating a tar ie a package file to add tmpdir 想知道这里到底发生了什么,或者链接或建议在哪里看。但当然不想阅读非常详尽的手册。 ~

最佳答案

这篇博文可能会回答您的问题:

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

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

幸运的是,在“Android NDK Dev Guide”中,有一个“Standalone Toolchain”部分仅描述了我们需要的....

关于android - 什么是独立工具链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13247206/

相关文章:

c - 使用链接器构建程序但运行可执行文件显示 'No such file or directory'

android - 随机使用应用程序时出现 ANR

Eclipse for Android NDK 中的 C++ static const 多重声明错误

android - 为什么 InputStream.markSupported 总是返回 false [android]

java - 我如何将一串 jsonObjects 拆分成一个数组

c++ - 如何在 Eclipse C++/CPP 中为新项目设置默认工具链?

linux - chroot 进入其他 arch 的环境

android - 使用 pocketsphinx_wrap.c 为 Android 构建 PocketSphinx 演示项目时出错

android - "Error inflating class menu"- android.view.InflateException : Binary XML file line #119: Error inflating class menu

android - 在浏览器上工作时触摸设备不工作 [cocos2d-JS]