在cygwin下使用NDK的openssl构建c文件

时间:2013-07-26 03:26:15

标签: android-ndk openssl cygwin

我正在尝试在cygwin下构建ndk包含的c文件

在Android.mk中,我将-I / usr / include添加到LOCAL_FLAGS中

LOCAL_FLAGS := -I/usr/include

我已经检查过openssl在/ usr / include

下做了什么

但是当我在项目目录下运行ndk-build时,它会输出

“致命错误:openssl / ssl.h:没有这样的文件或目录”

我想我已经指定了include目录,但没有解决这个问题。

我可以尝试其他方式吗?

1 个答案:

答案 0 :(得分:1)

你的知识似乎有些差距:

  • C代码编译为处理器的本机指令集。您的桌面/构建计算机可能与Android设备具有不同的体系结构(因此是不同的指令集)。
  • NDK不只是compile,而是cross-compiles。这意味着 NDK 在构建计算机上运行,​​但它生成的可执行文件无法在构建计算机上运行(不同的指令集)。
  • 桌面上的所有库都在桌面的处理器指令集中。因此,您无法使用桌面库链接 NDK 的任何程序构建。这意味着:
    • 不包含来自'/ usr / include /'
    • /lib/usr/lib/lib64/usr/lib64
    • 没有图书馆
    • Windows下没有Cygwin包

您需要做的是使用 NDK 构建自己的openssl,并在构建可执行文件时使用该链接进行链接。

请注意,答案中缺少大量信息(至少3个学士学位的计算机科学课程)。