2014-09-12 55 views
2

我想使用VC++ 2008试用Apache Thrift,并遇到未解决的问题。在Debug Build中,我得到了VC++运行时库中的错误"string iterators incompatible"。我跟踪了一个boost::lexical_cast<std::string>(int)的调用,并能够通过简单的测试程序触发该错误。Boost lexical_cast <std::string>(int)MSVC 2008 bug

下失败,所提到的迭代器错误(这是升压1.55):

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

一切正常,在一份新闻稿中建立与正确的行为。由于某些原因,这条线只能在节俭代码中失败,并且只能在最小的测试程序中运行。

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

我已经用完了想法,我可以尝试解决这些问题?

回答

0

问题是由于调试版本使用节俭发布模式库而引起的。

相关问题