当在 Visual Studio 2013 构建中包含来自 Microsoft ATL 库的 atlwin.h 时,可能会导致出现大量有关未定义元素的编译器错误。
HMONITOR is not defined
使用 VS2010 构建时不会发生这种情况。
由于这是标准的 MS 头文件,因此缺少类错误似乎没有意义。
由于这是一个非常古老的遗留项目,问题在于 stdafx.h 文件中 Windows 的目标版本
来自 MSDN
Visual C++ 不再支持针对 Windows 95、Windows 98、
Windows ME 或 Windows NT。如果您的 WINVER 或 _WIN32_WINNT 宏是
分配给这些 Windows 版本之一时,您必须修改
宏。当您升级使用创建的项目时
早期版本的 Visual C++,您可能会看到相关的编译错误
到 WINVER 或 _WIN32_WINNT 宏(如果它们被分配给版本)
不再支持的 Windows。
所以,改变
#ifndef WINVER
#define WINVER 0x0400
#endif
to
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
纠正构建问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)