use*_*337 17 mfc visual-studio
我有一个C++项目,它引用了许多其他项目/库.这适用于多年前创建的应用程序.每年大约每年更新一次,并完成新版本.我已经使用Visual Studio 6多年来更新和构建这个应用程序的新版本,没有任何问题.
我正在尝试切换到Visual Studio 10(现在是VS2013).最初我遇到了几个警告和错误,这是由VS版本之间的兼容性问题引起的.我能够照顾到最多.但是,我仍然对以下错误感到困惑:
error C1189: #error : MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\afxv_w32.h
在一些引用的项目库中发生错误.我检查了有问题的项目库,我找不到任何对WINVER的引用.
我已经在互联网上搜索了这方面的信息,并找到了一些主题,但没有任何特定于我的问题.有人可以对这里可能发生的事情有所了解吗?
提前致谢.LA
gbj*_*anb 31
WINVER如果您没有自己定义宏,那么所有MFC应用程序都会在某处定义宏值.我假设MS默认在其自己的头文件中删除了该定义,现在强制要求您明确定义它.
因此,要解决您的问题,请将其#define放入"预处理器"编译器选项中,或放在预编译头文件的顶部(即stdafx.h).
注意0x501是Windows XP支持.0x600是Vista,0x601是Windows 7 - 我记得那个多么难过!
Ale*_*son 10
我在使用Visual Studio 2013的Windows 7上遇到了同样的错误.
在我的情况下,我的项目有一个带有名字的源文件stdafx.h,在那个文件里面
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif
Run Code Online (Sandbox Code Playgroud)
我改成了
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x601
#endif
Run Code Online (Sandbox Code Playgroud)
并且错误消失了.
| 归档时间: |
|
| 查看次数: |
30404 次 |
| 最近记录: |