此页面包含用于编译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文件?
答案 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"