【问题标题】:Simplest way to compile an autotools based shared C library for Android?为 Android 编译基于自动工具的共享 C 库的最简单方法?
【发布时间】:2010-07-16 15:11:13
【问题描述】:

我有一个跨平台的 C 库,我需要为 Android 编译为 *.so 文件。该库由许多 .c 和 .h 文件组成,它使用 autotools 作为它的 buid 系统。 (./configure && make dep && make)。 Afaik,该库不依赖于 libc 和 OpenSSL(应存在于 Andriod 上)以外的其他库。

我正在尝试找到最简单的方法(以最快的方式阅读或不需要阅读数百页手册,然后应用 try && fail 蛮力方法来完成任务)将库从我的机器中取出源代码形式,并以.so 格式导入Android 手机。该库最终将通过 Java 的本机库接口访问。对于开发,我的办公桌上有 Windows 和 Debian 机器。

【问题讨论】:

    标签: android autotools shared-libraries


    【解决方案1】:

    如果运气好,autotooled项目设置正确,可以通过运行进行交叉编译(本例是windows使用mingw交叉编译,不知道android的前缀是什么):

    ./configure --host=i586-pc-mingw32
    

    这将尝试查找前缀为i586-pc-mingw32- 的编译器,因此i586-pc-mingw32-gcc 可能是第一个找到并使用的编译器。对于您的 Android devkit,请查看编译器二进制文件的名称并从中猜测主机值。

    【讨论】:

      【解决方案2】:

      我们最终手动创建了一个包含所有必需文件的 Android NDK 项目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 1970-01-01
        • 2015-11-23
        • 1970-01-01
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多