visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功

看vc++技术内幕时 如果你使用的是比此书的附带项目更新版的vs时千万不要使用这种方法,这些对编译都有影响。


请使用当前新版的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!
 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫敏璋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值