簡體   English   中英

在VS 2013中棄用MBCS對MFC的支持的副作用

[英]Side-effect of deprecation of MBCS support for MFC in VS 2013

我只是試圖在VS2013下編譯一個舊的MFC應用程序。 它抱怨非Unicode MFC應用程序已被棄用,並拒絕編譯。 這與本新聞稿中談論過時的MBCS支持已過時有些相反。 到目前為止,“字符集”選項有三個選擇:

  • 統一
  • MBCS
  • 沒有設置

就我個人而言,我完全不願意放棄對MBCS的支持-我既不需要MBCS,也不需要MBCS。 但是我也不想要Unicode-我覺得ANSI / ASCII很好。 因此,堅持要求每個MFC應用程序今后都必須使用Unicode,並且(實際上)提供平台支持所有可能的語言的基礎,無論其目標受眾是誰,這似乎都是極端的。 我想念什么嗎? 在VS2013下沒有指定字符集的情況下,我仍然可以編譯MFC應用程序嗎?

您可以。 目前,我所有的程序都使用Unicode庫。 除了一個較舊的版本以外,其中包括以前版本中非常舊的代碼,並且此程序需要此程序才能對此od版本進行更新支持...

  1. 當前有一個Addon仍支持MBC。
  2. 為它投票
  3. 據我了解的討論(請參閱2014年12月Mark Davis的評論),此類插件將可用,包括VS2015(無論是什么版本)。

更准確地說,當您為字符集選擇“無”時會發生什么:

  1. 您的程序鏈接到MFC的MBCS版本
  2. 同樣,Windows SDK將默認為API的MBCS版本。 因此,即調用GetWindowTextA而不是GetWindowTextW

所以實際上。 僅將_UNICODE和_MBCS設置為無,默認為_MBCS ...

在內部,SDQ始終檢查是否設置了UNICODE(而非_UNICODE)。 如果不是,則選擇MBCS版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM