Android NDK不支持头文件?

时间:2013-02-09 05:58:15

标签: android c android-ndk

此页面包含用于编译Android的iwlist和其他命令的指令: https://code.google.com/p/haggle/wiki/WirelessTools

不幸的是,我收到与该页面上的评论者相同的错误类型:

Android NDK: WARNING: Unsupported source file extensions in /home/simon/Android-SDK/wireless_tools.29/Android.mk for module iwlist Android NDK: iwlib.h

当我从Android.mk的LOCAL_SRC_FILES中删除iwlib.h时,它没有显示该警告,但它仍然失败并出现同样的错误:

./iwlist.c:633:7: error: 'IW_EV_LCP_PK2_LEN' undeclared (first use in this function)

这是未声明的,因为它是在iwlib.h文件中警告的。

那么为什么Android NDK无法识别标题.h文件?

2 个答案:

答案 0 :(得分:3)

您通常不编译头文件。您将它们包含在您编译的.c或.cpp文件中。但是你不会将它们作为源文件传递给编译器。

答案 1 :(得分:3)

要构建库,您解压缩了gz文件,然后运行make,不是吗?或者您只是重命名为wireless.22.h?无论如何,在运行ndk-build之前,包目录中有一个wireless.h文件。将以下两行添加到此文件的末尾:

#undef IW_EV_LCP_PK_LEN
#undef IW_EV_POINT_PK_LEN

从Android.mk的LOCAL_SRC_FILES中删除iwlib.h。 @Gabe是对的,头文件不应该单独编译。在iwlist.c中,您将找到第14行:

#include "iwlib.h"