stlsoft添加vs2012支持

最近安装了VS2012,发现原来的stlsoft无法正常编译,下载了最新版本依然不行,根据编译时的错误提示做了些修改后正常使用,以下为修改内容.

stlsoft版本stlsoft-1.9.116

1.stlsoft.h

第0666行后增加

# elif (_MSC_VER == 1600)
#  define STLSOFT_COMPILER_VERSION_STRING       "Visual C++ 10.0"
# elif (_MSC_VER == 1700)
#  define STLSOFT_COMPILER_VERSION_STRING       "Visual C++ 11.0"
# else /* ? _MSC_VER */
#  error Currently only versions 5.0, 6.0, 7.0, 7.1, 8.0, 9.0, 10.0 and 11.0 of the Visual C++ compiler are supported by the STLSoft libraries
# endif /* _MSC_VER */

2.iterator_helper.hpp

第0431行后增加

# elif defined(STLSOFT_CF_STD_LIBRARY_IS_DINKUMWARE_VC) && \
       ( \
           STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_7_0 || \
           STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_7_1 || \
           STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_8_0 || \
           STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_9_0 || \
           STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_10_0 || \
STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION == STLSOFT_CF_DINKUMWARE_VC_VERSION_11_0 || \
           0 \
       )

3.library_discriminator.hpp

第291行增加

#define STLSOFT_CF_DINKUMWARE_VC_VERSION_10_0           (0x0a00)
#define STLSOFT_CF_DINKUMWARE_VC_VERSION_11_0           (0x0b00)

第341行增加

#  elif _CPPLIB_VER <= 520
  /* Version 10.0 */
#   ifdef STLSOFT_COMPILE_VERBOSE
#    pragma message("  Dinkumware version 10.0")
#   endif /* STLSOFT_COMPILE_VERBOSE */
#   define STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION      STLSOFT_CF_DINKUMWARE_VC_VERSION_10_0
#  elif _CPPLIB_VER <= 540
  /* Version 10.0 */
#   ifdef STLSOFT_COMPILE_VERBOSE
#    pragma message("  Dinkumware version 11.0")
#   endif /* STLSOFT_COMPILE_VERBOSE */
#   define STLSOFT_CF_STD_LIBRARY_DINKUMWARE_VC_VERSION      STLSOFT_CF_DINKUMWARE_VC_VERSION_11_0

以上修改后vs2012可正常编译.

你可能感兴趣的:(stlsoft添加vs2012支持)