gpt4 book ai didi

Android交叉编译C,无配置文件

转载 作者:行者123 更新时间:2023-11-30 17:51:41 30 4
gpt4 key购买 nike

我最近开始为 Android 交叉编译几个 C 应用程序。我已经使用以下伪指令成功地为图像转换软件完成了此操作:

  • 构建 Android 工具链
  • 编译 Automake 和 Autoconf
  • 设置 CC 和 CXX 环境变量
  • 构建源码包(删除configure、configure.sub、configure.guess,运行autoconf configure.ac > configure,使用arm-linux-androideabi使用CFLAGS运行configure,make并make install)

我现在正在尝试对用 C 编写的 OCR 库执行此操作。我遇到的问题是该库没有configure、configure.guess 或configure.sub。它只有一个 makefile。

我对 C 不太熟悉,但是在这种情况下我应该遵循什么不同的流程吗?

./configure步骤:

CFLAGS=’-march=armv7-a –mfloat-abi=softfp’ ./configure –prefix=/home/user/Downloads/install/usr/local –host=arm-eabi –enable-shared=no –with-modules --enable-delegate-build

最佳答案

is there any different process that I should be following in this situation?

不是真的。我的意思是,如果您计划使用 Android 独立工具链,那么您需要做的就是:

  1. 使用临时目标创建工具链,例如 --platform=android-9
  2. 将工具链目录添加到PATH(为了方便起见)
  3. 导出 sysroot 路径,例如export SYSROOT=/tmp/my-android-toolchain/sysroot(为了方便)
  4. 如果您的目标是静态库 (export AR=arm -linux-androideabi-ar)

那么这一切都取决于你的 Makefile 是如何编写的,即目标是什么?影响环境变量?但实际上,如果默认目标满足您的需要,您所需要做的就是运行 make 同时覆盖 cflags来设置目标架构(此处为 ARMv7):

make CFLAGS="-march=armv7-a"

就是这样。如果需要,请对其他架构(armeabix86 等)重复此操作。

<小时/>

您可以查看 jsmn 的完整示例- 用 C 编写的轻量级 JSON 解析,此处:http://git.io/ndk-jsmn .

我还有一套slides涵盖您可能会觉得有用的主题。

关于Android交叉编译C,无配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565743/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com