stlsoft添加vs2012支持

本文介绍了在Visual Studio 2012环境下遇到stlsoft库无法正常编译的问题及解决方案。针对stlsoft版本1.9.116,在stlsoft.h、iterator_helper.hpp和library_discriminator.hpp文件中进行了必要的修改,以支持VS2012编译器版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近安装了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可正常编译.

转载于:https://my.oschina.net/airhead/blog/95953

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值