标识符“PLVGROUP”未定义afxcmn.h

时间:2016-03-24 11:46:18

标签: c++ visual-studio

我有一个使用afxcmn标头的Visual Studio 2015项目,并且有很多“未定义”错误。

我在文档中读到了这些数据类型包含在commctrl.h中,它已作为外部依赖项包含在Visual Studio项目中。

// Adds a group to the control.
AFX_ANSI_DEPRECATED int InsertGroup(_In_ int index, _In_ PLVGROUP pgrp);

// Sets information about the specified group (by ID) in the control.
AFX_ANSI_DEPRECATED int SetGroupInfo(_In_ int iGroupId, _In_ PLVGROUP pGroup);

// Retrieves information for the specified group in the control.
AFX_ANSI_DEPRECATED int GetGroupInfo(_In_ int iGroupId, _Out_ PLVGROUP pgrp) const;

这是afxcmn.h的一些代码示例,它给出了这些错误。

我不知道是否必须在项目中配置其他内容以包含commctrl标头

3 个答案:

答案 0 :(得分:4)

是的,PLVGROUP在commctrl.h中定义,但它取决于WINVER

#if (NTDDI_VERSION >= NTDDI_WINXP)

这意味着WINVER> = 501,请参阅:

error-Direktive:MFC不支持小于0x0501的WINVER。请在项目属性或预编译标题中更改WINVER的定义。

所以我不得不改变我的stdafx.h //#define WINVER 0x0500 #define WINVER NTDDI_WINXP //0x05010000

答案 1 :(得分:1)

它们是Visual Studio 2015生成的IntelliSense错误。

答案 2 :(得分:0)

我的环境是Windows 10 1903 / VS2017

我不知道为什么,但这为我解决了这个问题:

仅供参考,这是我项目中产生问题的原始stdafx.h:

#define WINVER 0x0603
#define _WIN32_WINNT 0x0603

在“ #pragma一次”下面添加这两行后,问题解决了:

can_drive_car

仅添加第一行仍会产生这些错误。