我正在尝试编译这个项目:https://github.com/bucienator/ble-win-cpp
克隆存储库后,我得到错误"wait_for“不是"winrt ::impl”的成员。使用NuGet,我将Microsoft.Windows.CppWinRT包添加到项目中。但在那之后,我对所有图书馆的导入都中断了:
#include <winrt / Windows.Foundation.h>
#include <winrt / Windows.Devices.Bluetooth.h>
#include <winrt / Windows.Devices.Enumeration.h>
#include <winrt / Windows.Devices.Bluetooth.Advertisement.h>
#include <winrt / Windows.Devices.Bluetooth.GenericAttributeProfile.h>
#include <winrt / Windows.Storage.Streams.h>告诉我如何让Visual编译我的项目?
发布于 2021-06-26 08:12:56
不确定它以前是如何编译的,但它已经有3年的历史了,所以它有可能是用一个旧的C++/WinRT编译的。
这里提到了"wait_for“问题:https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47和我的解决方案是添加Microsoft.Windows.CppWinRT包。
然后,您将遇到其他问题,您必须像这样修复pch.h:
...
#include <iostream>
#include <sstream>
#include <iomanip>
#include <mutex> // add this
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h> // add this
#include <winrt/Windows.Devices.Bluetooth.h>
#include <winrt/Windows.Devices.Enumeration.h>
#include <winrt/Windows.Devices.Bluetooth.Advertisement.h>
#include <winrt/Windows.Devices.Bluetooth.GenericAttributeProfile.h>
#include <winrt/Windows.Storage.Streams.h>
... https://stackoverflow.com/questions/68138854
复制相似问题