编译错误将ATL项目从vs2010升级到vs2013
Compile Errors upgrading ATL project from vs2010 to vs2013
当在Visual Studio 2013构建中包含来自Microsoft ATL库的atlwin.h时,可能会导致许多关于未定义元素的编译器错误。
HMONITOR is not defined
使用VS2010构建时不会发生这种情况。
由于这是一个标准的MS头文件,丢失的类错误似乎没有意义。
由于这是一个非常古老的遗留项目,问题在于stdafx.h文件中windows的目标版本
从MSDNVisual c++不再支持Windows 95, Windows 98,如果你的WINVER或_WIN32_WINNT宏是分配给这些Windows版本之一时,您必须修改宏。方法创建的项目升级时在早期版本的Visual c++中,您可能会看到与编译错误相关的错误WINVER或_WIN32_WINNT宏,如果它们被分配给一个版本
所以改变
#ifndef WINVER
#define WINVER 0x0400
#endif
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
更正构建问题
相关文章:
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 如何在C++(VS2010)中设置超时读取USB端口?
- 显式 std::exception_ptr 转换为 bool 不存在.VS2010 错误?
- VS2010 C++ 调试托管 (C++/CLI) DLL
- xtr1common中的错误,尝试使用VS2019构建原始VS2013 C++项目时type_traits
- C++构建增强 1.57.0 VS2013 x64 本机工具命令提示符
- Build Boost Regex for Windows VS2013
- 在VS2013中使用devenv (C++)传递命令行参数argv
- 在VS2010上使用PCL 1.6.0的问题
- 将VS2013 更新为VS2019会导致左值错误,想知道原因
- 从 VS2013 到 VS2017 std::async 不会启动新线程
- 在使用VS2010构建ACE和TAO(CORBA)时发生了许多错误
- LibVLC 的新手 - 在 VS2010 上试用 libVLC
- VS2013在构建容器应用程序时无法识别OCX控制的附加方法
- C# 调试 C++ dll 适用于 VS2013,但不适用于 VS2010
- VS2010调试器无法在监视窗口中正确跟踪变量,VS2013是否仍然存在此错误?
- 编译错误将ATL项目从vs2010升级到vs2013
- VS2013:将迭代器传递给接受指针的函数(将VS2010迁移到VS2013)
- 与VS2010/Cuda4.2相比,VS2013/Cuda7.0中的CUFFT慢1000倍
- 当我使用 VS2013 编译时,链接到使用 VS2010 编译的静态 .lib?