我正在尝试在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门学士级计算机科学课程的信息)。