您的位置:首页 > 其它

error C1189: #error : MFC does not support

2017-01-13 14:26 1116 查看
visual
c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功

原文来源:http://www.stockso.com/blog

请使用当前新版的vs并输入书中改动的代码就Ok,因为vs会生成合理的mfc代码,养成好的习惯,,

 

一开始编译,第一个错误提示

 

Building an MFC project for a non-Unicode character set is deprecated  

 

首先参考这篇博客Building an MFC project for a non-Unicode character set is deprecated

安装   Multibyte MFC Library for Visual Studio 2013

然后编译,遇到这个问题

 

warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.  

 

参考这个提问  Error preprocessor directives when building

在vs2013中上面这个 

 

warning C4996:'MBCS_Support....   

 

双击会指向这个代码段

#ifdef _MBCS  

// Warn about MBCS support being deprecated: see http://go.microsoft.com/fwlink/p/?LinkId=279048 for more information.  

#pragma warning(push)  

#pragma warning(1 : 4996)  

就是这个链接http://go.microsoft.com/fwlink/p/?LinkId=279048文中提到可以通过将 NO_WARN_MBCS_MFC_DEPRECATION 预处理器定义添加到您的项目生成定义消除此警告。在项目stdafx.h文件中的#pragma
once下面添加

#define NO_WARN_MBCS_MFC_DEPRECATION  

然后开始解决下面的问题

error C1189: #error : MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header.  

 

将stdafx.h文件中的

#define WINVER 0x0400  

改为  

#define WINVER 0x0501  

   

#define _WIN32_WINNT 0x0400  

改为

#define _WIN32_WINNT 0x0501  

OK,然后是在vs2013中最后一个问题了错误 2 error CVT1100: 资源重复。类型: MANIFEST打开 项目属性 -> 配置属性 ->链接器 -> 清单文件 -> 生成清单 -> 选择否
everything is OK!
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: