问题
In earlier versions of Visual Studio, there was a predefinied macro "_CPPLIB_VER" which reported the version of the Dinkumware STL Library shipped with this version of VS. As of 2012, I am unable to find or use this macro - it is undefinied and I am unable to find any information on this matter online.
Is the Dinkumware STL Lib no longer used in VS2012? Was the macro renamed?
Windows 7 x64 Microsoft Visual Studio 2012 Professional
回答1:
Usually the definition of _CPPLIB_VER
can be found in a header file named yvals.h
somewhere under your VS installation folder. For Visual Studio 2010 it's in VC\include
.
Be careful because _CPPLIB_VER
is no longer an official predefined macro since Visual Studio 2008.
The "Change History" section of Predefined Macros (Visual Studio 2008) on MSDN says:
Added Visual Studio 2008 values for
_ATL_VER
,_MSC_VER
,_MFC_VER
; removed_CPPLIB_VER
; updated__COUNTER__
,_DEBUG
,_DLL
,_MT
,__FUNCDNAME__
,__FUNCSIG__
,__FUNCTION__
,__FILE__
. Cleaned up topic.
And the macro was one of the "Microsoft-Specific Predefined Macros" for VS 2005. See Predefined Macros (Visual Studio 2005):
_CPPLIB_VER
Defined if you include any of the C++ Standard Library headers; reports which version of the Dinkumware header files are present.
来源:https://stackoverflow.com/questions/12286286/which-version-of-the-dinkumware-stl-lib-ships-with-visual-studio-2012