我正在修改一个开源代码,扫描附近的无线信号。程序代码如下:
#pragma comment(lib, "wlanapi.lib")
#include <stdio.h>
#include <windows.h>
#include <wlanapi.h>
VOID WlanNotification(WLAN_NOTIFICATION_DATA *wlanNotifData,VOID *p)
{
if(wlanNotifData->NotificationCode == wlan_notification_acm_scan_complete)
{
bWait = false;
}
else if(wlanNotifData->NotificationCode == wlan_notification_acm_scan_fail)
{
printf("Scanning failed with error: %x\n", wlanNotifData->pData);
bWait = false;.
我想知道如何编译具有wlanapi.h和windows.h依赖关系的源代码?
请注意,我希望这段代码在Windows (而不是Linux)上运行。我正在为简单的windows用户编写一个工具,用于诊断他们的Wifi安全性。第一步是感测最近的WiFi AP及其各自的加密类型。我只想知道如何以最简单的方式编译具有“windows.h”或“wlanapi.h”依赖关系的windows平台的代码。
发布于 2014-02-08 13:55:58
我已经找到了解决这个问题的办法。
在这个问题中,我询问了编译具有“wlanapi”和“windows.h”等依赖项的代码的最简单方法。
最简单的方法是在Windows框上安装“”,然后在相关的IDE中编译代码。
例如,问题中的代码是一个C++代码,所以我将在VisualC++中编译它('Build')
对于任何想要在linux上编译使用深度windows的代码的人来说,请知道这是个坏主意。在Windows框上的“Windows”或Visual下编译它。
发布于 2014-02-07 07:59:48
理解C和C++是可移植语言是很重要的,但这并不意味着不同操作系统的API是相同的--这就是一个很好的例子。
解决问题的简单方法可能是找到另一个已经在Linux平台上工作的源代码。这似乎是一个不错的资源:sniffer.html
如果您的目标是使这段代码在Linux上运行,那么您将需要找到相应的Linux接口。这里有一个问题:Wireless API for Linux in C or Java
不幸的是,对于Windows代码来说,这不是一个直接的“插件”兼容接口,所以您必须对代码进行一些相当重要的修改(或者构建一个模仿wlanapi.h功能的兼容性库,但我的粗略估计是,这并不容易!)
https://stackoverflow.com/questions/21621013
复制相似问题