我一直在尝试使用ioctl来获取我的wifi连接状态,但遇到了一个问题:每当我#include <linux/wireless.h>
时,gcc会产生很多错误,例如:
/usr/include/linux/wireless.h:869:18: error: field ‘src_addr’ has incomplete type
struct sockaddr src_addr;
^
/usr/include/linux/wireless.h:880:18: error: field ‘bssid’ has incomplete type
struct sockaddr bssid;
^
以及更多类似的。这是什么意思?我该怎么办?我在VM中运行Ubuntu 14.04是否重要?
如果它有帮助,我的代码就是:
#include <linux/wireless.h>
int main() { return 0; }
我正在使用gcc thing.c
谢谢。
答案 0 :(得分:4)
你需要包含sockaddr。 你必须包括:
#include <netinet/in.h>
#include <sys/socket.h>