問題1:
Building an MFC project for a non-Unicode character set is deprecated
解決方法:
用於多字節字符編碼 (MBCS) 的 MFC 庫 (DLL) 不再包含於 Visual Studio 中,但是可用作插件,您可以在任何裝有 Visual Studio Professional、Visual Studio Premium 或 Visual Studio Ultimate 的計算機上下載和安裝。(在 Visual Studio 中,必須啟用 MFC。)安裝需要大約 440 MB 磁盤空間,包括英語(美國)和 DLL 的本地化版本。
在安裝 MBCS DLL 后,如果卸載或修復 Visual Studio,則還會卸載或修復。 但是,如果只禁用 MFC,MBCS DLL 仍會保留在系統上。 如果僅卸載或修復 MBCS DLL,將不會修改 Visual Studio。
總結下就是安裝 Multibyte MFC Library for Visual Studio 2013
詳細信息:http://blogs.msdn.com/b/vcblog/archive/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx
下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=40770
問題2:
warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.
解決方法:
這個鏈接http://go.microsoft.com/fwlink/p/?LinkId=279048文中提到可以通過將 NO_WARN_MBCS_MFC_DEPRECATION 預處理器定義添加到您的項目生成定義消除此警告。在項目stdafx.h文件中的#pragma once下面添加
- #define NO_WARN_MBCS_MFC_DEPRECATION
#define NO_WARN_MBCS_MFC_DEPRECATION
問題3:
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
#define WINVER 0x0400 #define WINVER 0x0501 #define _WIN32_WINNT 0x0400 改為 #define _WIN32_WINNT 0x0501
問題4:
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
解決方法:
在StdAfx.h頭文件里面加上#include <SDKDDKVer.h>有關於平台的定義
問題5:
warning C4996: 'CWinApp::Enable3dControlsStatic': CWinApp::Enable3dControlsStatic is no longer needed. You should remove this call.
解決方法:
直接注釋掉 代碼如下
- #ifdef _AFXDLL
- Enable3dControls(); // Call this when using MFC in a shared DLL
- #else
- //Enable3dControlsStatic(); // Call this when linking to MFC statically
- #endif
#ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else //Enable3dControlsStatic(); // Call this when linking to MFC statically #endif
問題6:
LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification
解決方法: