【问题标题】:What is "Upgrade from VC 7.1" property sheet?什么是“从 VC 7.1 升级”属性表?
【发布时间】:2012-08-31 12:13:20
【问题描述】:

我正在将一个项目从 MSVS2005 移植到 MSVS2010。我刚刚在 MSVS2010 中加载了解决方案,然后让向导转换项目。

我跑到物业经理那里,发现了这些物业表(从上到下):

  • 从 VC 7.1 升级
  • Microsoft.Cpp.x64(或 Win32).user
  • 多字节字符支持(不可编辑)
  • 到 MFC 的动态链接(不可编辑)

我了解最后三个,但我不知道从 VC 7.1 升级的目的是什么。谁能给我解释一下?


附:我在属性页“从 VC 7.1 升级”中找到 C/C++, Preprocessor, Preprocessor Definitions = _VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) 但在项目属性中我看到 NDEBUG;WIN32;_LIB; %(预处理器定义)。这是什么意思呢? _VC80_UPGRADE=0x0710 宏是什么?

【问题讨论】:

  • 似乎有些旧版属性没有 2010 版的等价物,但它们太重要了,不能简单地删除它们。
  • 可能,但请查看 P.S.我补充说。什么是未在项目属性中传播的 _VC80_UPGRADE=0x0710
  • 关于您的编辑,this could help a little bit regarding _VC80_UPGRADE,也许?

标签: windows visual-studio-2010 visual-studio


【解决方案1】:

项目属性表只是为项目预先设置设置。除非项目覆盖设置。您的项目所做的,它会覆盖“预处理器定义”设置。额外的“%(PreprocessorDefinitions)”宏确保属性表中的定义附加并且不会丢失。

所以编译器看到的定义是NDEBUG;WIN32;_LIB;_VC80_UPGRADE=0x0710

_VC80_UPGRADE 宏可帮助您的旧项目在 Visual Studio 2005 或更高版本上正确编译和运行。一方面,它在 vc/atlmfc/include/afxres.h 中用于确保清单资源具有正确的 ID。

您跳过了许多 VS 和 Windows 版本,所以这并不完全意味着您完全没有问题。尤其是 UAC 会让你头疼。

【讨论】:

  • 感谢汉斯的回答。我特别感谢 %(...) 的解释。
猜你喜欢
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多