c++ - DwmIsCompositionEnabed 不存在于 afxglobals.h 中

标签 c++ visual-studio-2012 mfc migration

我有一个在VS2010中编译的项目。它编译和执行得很好。

同一个项目,如果在VS2012中编译,会抛出以下错误:

C2039:DwmIsCOmpositionEnabled 不是 AFX_GLOBAL_DATA 的成员

网上查了一下,有人报错,原因是安装了多个VS环境。

但是,我的机器是全新安装的,只安装了VS2012 Professional。

检查头文件,AfxGlobals.h中确实没有这个函数。

我应该检查什么来解决此问题?

最佳答案

如果你看Breaking Changes in Visual C++对于 VS2012,在 MFC/ATL 部分下您将看到(除其他外):

Renamed AFX_GLOBAL_DATA::DwmIsCompositionEnabled to IsDwmCompositionEnabled to eliminate name collision.

我建议您相应地更改源代码。

关于c++ - DwmIsCompositionEnabed 不存在于 afxglobals.h 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20603648/

相关文章:

c# - Visual Studio 2012 无法识别可空类型

visual-studio-2012 - 如何在 Visual Studio 中显示 TypeScript 类大纲

c++ - 线程退出时,dll 中的 mfc 无模式对话框被破坏

c++ - 我该如何优化这段代码? (Qt5)

c# - 通过 Net Core 将 C++ 数组传递到 C# 层

c++ - 迭代顺序集合的习惯用法

c++ - 禁用/隐藏 CListCtrl MFC 中的项目

c++ - 如何访问四个线程共享的容器 vector 的大小

c++ - 如何使用 Visual Studio 2012 c++ 为 VIX API 配置编译器?

c++ - MFC 窗口工具栏创建失败且没有错误消息