为啥在包含 Microsoft SDK 中的 BluetoothAPIs.h 时会收到语法错误?
Posted
技术标签:
【中文标题】为啥在包含 Microsoft SDK 中的 BluetoothAPIs.h 时会收到语法错误?【英文标题】:Why do I receive syntax error when including BluetoothAPIs.h from Microsoft SDK?为什么在包含 Microsoft SDK 中的 BluetoothAPIs.h 时会收到语法错误? 【发布时间】:2015-04-23 08:08:36 【问题描述】:当我尝试包含 BluetoothAPIs.h
时,编译器会显示多个语法错误,例如。 g.:
[C++ Error] BluetoothAPIs.h(133): E2141 Declaration syntax error
[C++ Error] BluetoothAPIs.h(171): E2238 Multiple declaration for '__checkReturn'
...
这是BluetoothAPIs.h
“无效”部分代码:
第 132-138 行:
__checkReturn
HBLUETOOTH_RADIO_FIND
WINAPI
BluetoothFindFirstRadio(
__in const BLUETOOTH_FIND_RADIO_PARAMS * pbtfrp,
__out HANDLE * phRadio
);
第 170-176 行:
__checkReturn
BOOL
WINAPI
BluetoothFindNextRadio(
__in HBLUETOOTH_RADIO_FIND hFind,
__out HANDLE * phRadio
);
我从 Microsoft SDK 获取的 .h 文件。
UPD 2021:
我从未意识到真正导致错误的原因,但似乎使用 Visual Studio 而不是 Dev-C++ 可以解决问题。现在我想知道我应该改变什么才能让它在 Dev-C++ 中工作?
【问题讨论】:
【参考方案1】:当您说“我从 Microsoft SDK 获取的 .h 文件”时,您的意思是: a) SDK 安装在我的机器上并且可以在我的 IDE 中访问? b) 我只拿到了这个文件?
如果 b) 则您丢失了很多文件...
宏 __checkReturn 的第一次出现在 BluetoothAPIs.h 的第 132 行,你提到的那个...
【讨论】:
谢谢,但我已经找到了解决方案。我安装了 Visual Studio,现在在它下工作。 你现在,如何使用其他IDE访问SDK,例如Dev-C++? 我正在使用 Visual Studio 并且不知道 Dev-C++... 但是,无论如何,可能有一个设置(编译器设置?IDE 设置?),您可以在其中输入完整路径“包括”文件夹(即 SDK 文件夹)。也许您可以将此路径添加到Windows的“PATH =”环境变量中...以上是关于为啥在包含 Microsoft SDK 中的 BluetoothAPIs.h 时会收到语法错误?的主要内容,如果未能解决你的问题,请参考以下文章
Windows XP 和 Windows 98 中的 Microsoft Windows SDK 文件夹在哪里?
MSGraphMailbag - 对 Microsoft Graph PowerShell SDK 的深入研究
MSGraphMailbag - 对 Microsoft Graph PowerShell SDK 的深入研究
为啥只能在 Android SDK QuickBlox 上进行第一次视频通话?