在cygwin下通过NDK用openssl构建c文件



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

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

LOCAL_FLAGS := -I/usr/include

我已经检查了openssl是否在/usr/include 下运行

但当我在项目目录下运行ndk构建时,它会输出

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

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

我还有别的办法可以试试吗?

你的知识似乎有一些差距:

  • C代码编译为处理器的本机指令集。你的桌面/构建机器可能与你的Android设备有不同的架构(因此有不同的指令集)
  • NDK不仅仅是compile,还有cross-compiles。这意味着NDK在构建机器上运行,但它生成的可执行文件不能在构建机器(不同的指令集)上运行
  • 桌面上的所有库都在桌面的处理器指令集中。因此,您无法链接NDK使用桌面库构建的任何程序。这意味着:
    • "/usr/include/"中没有includes
    • 没有来自/lib/usr/lib/lib64/usr/lib64的库
    • Windows上没有Cygwin软件包

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

请注意,答案遗漏了很多信息(至少有3门学士级计算机科学课程的信息)。

最新更新