【问题标题】:Which version of the Dinkumware STL Lib ships with Visual Studio 2012?Visual Studio 2012 附带了哪个版本的 Dinkumware STL Lib?
【发布时间】:2012-08-30 11:01:06
【问题描述】:

在 Visual Studio 的早期版本中,有一个预定义的宏“_CPPLIB_VER”,它报告了这个版本的 VS 附带的 Dinkumware STL 库的版本。截至 2012 年,我无法找到或使用此宏 - 它未定义,我无法在网上找到有关此问题的任何信息。

VS2012 不再使用 Dinkumware STL Lib 了吗?宏被重命名了吗?

Windows 7 x64 Microsoft Visual Studio 2012 专业版

【问题讨论】:

  • 它还在,yvals.h。 VS2012版本为540。

标签: c++ visual-c++ stl visual-studio-2012 predefined-macro


【解决方案1】:

_CPPLIB_VER 的定义通常可以在 VS 安装文件夹下名为 yvals.h 的头文件中找到。对于 Visual Studio 2010,它位于 VC\include

请小心,因为自 Visual Studio 2008 起,_CPPLIB_VER 不再是官方预定义宏。

MSDN 上Predefined Macros (Visual Studio 2008) 的“更改历史记录”部分说:

_ATL_VER_MSC_VER_MFC_VER 添加了 Visual Studio 2008 值; 删除了_CPPLIB_VER;更新了__COUNTER___DEBUG_DLL_MT__FUNCDNAME____FUNCSIG____FUNCTION____FILE__。清理主题。

该宏是 VS 2005 的“Microsoft 特定预定义宏”之一。请参阅 Predefined Macros (Visual Studio 2005)

_CPPLIB_VER

如果包含任何 C++ 标准库头文件,则定义;报告 Dinkumware 头文件的版本。

【讨论】:

  • 哇,不知道它被删除了,因为在包含 C++ 头文件后,我仍然在 VC2010 和 VC2012 中看到它。但是从您的回答(以及它在预定义宏列表中的缺失,我已经想知道)我猜它不再正式保证存在?
  • 我想是的。看来微软不希望开发者依赖这个宏的定义……
  • 仍然在yvals.h 中为 VS2012 定义,但我想它不再保证 - 如果您使用 VS2012 附带的 Dinkumware,仍然可以解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
相关资源
最近更新 更多