CCo*_*ron 6 c++ atl visual-studio-2010 visual-studio-2013
当从Visual Studio 2013中的Microsoft ATL库中包含atlwin.h时,可能会导致许多关于未定义元素的编译器错误.
HMONITOR is not defined
Run Code Online (Sandbox Code Playgroud)
使用VS2010构建时不会发生这种情况.
由于这是一个标准的MS头文件,因此缺少的类错误似乎没有意义.
由于这是一个非常古老的遗留项目,因此问题在于stdafx.h文件中的目标Windows版本
来自MSDN
Visual C++不再支持Windows 95,Windows 98,Windows ME或Windows NT.如果将WINVER或_WIN32_WINNT宏分配给其中一个版本的Windows,则必须修改宏.升级使用早期版本的Visual C++创建的项目时,如果将它们分配给不再受支持的Windows版本,则可能会看到与WINVER或_WIN32_WINNT宏相关的编译错误.
所以,改变
#ifndef WINVER
#define WINVER 0x0400
#endif
Run Code Online (Sandbox Code Playgroud)
至
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Run Code Online (Sandbox Code Playgroud)
纠正了构建问题
归档时间: |
|
查看次数: |
6153 次 |
最近记录: |