我正在将项目从MSVS2005移植到MSVS2010。我刚刚在MSVS2010中加载了解决方案,让向导转换项目。
我遇到了物业经理并找到了这些物业表(从上到下):
我理解最后三个但我不知道从VC 7.1升级的目的是什么。有人可以给我一点解释吗?
P.S。我在属性页“从VC 7.1升级”中找到了C / C ++,预处理器,预处理器定义= _VC80_UPGRADE = 0x0710;%(预处理器定义)但在项目属性中我看到 NDEBUG; WIN32; _LIB; %(PreprocessorDefinitions)即可。这是什么意思呢?什么是 _VC80_UPGRADE = 0x0710 宏?
答案 0 :(得分:4)
项目属性表只是预先设置项目的设置。除非项目覆盖设置。您的项目所做的,它会覆盖“预处理器定义”设置。额外的“%(PreprocessorDefinitions)”宏确保属性表中的定义追加而不会丢失。
所以编译器看到的定义是NDEBUG;WIN32;_LIB;_VC80_UPGRADE=0x0710
_VC80_UPGRADE宏可帮助旧项目在Visual Studio 2005或更高版本上正确编译和运行。例如,它在vc / atlmfc / include / afxres.h中用于确保清单资源具有正确的ID。
您正在跳过许多VS和Windows版本,因此这并不意味着您根本不会遇到任何问题。特别是UAC会让你头疼。