繁体   English   中英

提高lexical_cast <std::string> (int)MSVC 2008错误

[英]Boost lexical_cast<std::string>(int) MSVC 2008 bug

我想尝试使用VC ++ 2008的Apache Thrift并遇到无法预料的问题。 在Debug Build中,我在VC ++运行时库中收到错误"string iterators incompatible" 我跟踪到了对boost::lexical_cast<std::string>(int)的调用,并能够在一个简单的测试程序中触发该错误。

以下内容因提及的迭代器错误而失败(这是在Boost 1.55中):

std::string test = boost::lexical_cast<std::string>(5);

在具有正确行为的Release版本中,一切正常。 并且由于某种原因,该行仅在节俭代码中失败,并在最小的测试程序中工作。

我已经尝试将_HAS_ITERATOR_DEBUGGING设置为0,但这没有效果,因为调试运行时库是使用此标志集编译的。 我尝试甚至在调试版本中选择发布多线程运行时dll,但这并没有导致使用发布dll蜂鸣声。 因为我使用链接到调试运行时dll的其他boost编译库,所以这甚至不是一个好主意。

我的想法用光了,我该怎么解决这些问题?

引起此问题的原因是调试版本使用了节俭发布模式库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM