首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编译具有“wlanapi.h”和“windows.h”依赖关系的C++代码

如何编译具有“wlanapi.h”和“windows.h”依赖关系的C++代码
EN

Stack Overflow用户
提问于 2014-02-07 06:43:22
回答 2查看 3.1K关注 0票数 3

我正在修改一个开源代码,扫描附近的无线信号。程序代码如下:

代码语言:javascript
复制
#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平台的代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-08 13:55:58

我已经找到了解决这个问题的办法。

在这个问题中,我询问了编译具有“wlanapi”和“windows.h”等依赖项的代码的最简单方法。

最简单的方法是在Windows框上安装“”,然后在相关的IDE中编译代码。

例如,问题中的代码是一个C++代码,所以我将在VisualC++中编译它('Build')

对于任何想要在linux上编译使用深度windows的代码的人来说,请知道这是个坏主意。在Windows框上的“Windows”或Visual下编译它。

票数 1
EN

Stack Overflow用户

发布于 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功能的兼容性库,但我的粗略估计是,这并不容易!)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21621013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档