这是我第一次使用WINAPI并使用 SleepConditionVariableCS , WakeConditionVariable , WaitForMultipleObjects 和 InitializeConditionVariable <等功能/ strong> Eclipse IDE告诉我他们没有在此范围内声明。
所有这些都应该包含在同一个lib windows.h 中,所以我不知道它的失败是什么,因为其他函数如 ExitThread , ReleaseSemaphore 和 WaitForSingleObject 正在运行,没有任何问题。
我的c ++版本可能有问题吗?或者它包含任何其他库?
由于
答案 0 :(得分:4)
SleepConditionVariableCS(或任何其他WIndows API调用)的文档告诉您支持的最低客户端和服务器操作系统。根据您的目标平台设置,有条件地声明API调用。
您可以通过设置某些预处理器宏来控制目标平台(有关信息,请参阅Using the Windows Headers)。在您的情况下,您需要添加
#define WINVER 0x0600
包括 Windows.h 之前,以Windows Vista及更高版本为目标。通常的做法是在命令行上定义预处理器宏,以便在所有编译单元中使用一致的环境。