C++ 增强词法转换<;标准::字符串>;(int)MSVC 2008缺陷

C++ 增强词法转换<;标准::字符串>;(int)MSVC 2008缺陷,c++,visual-c++,boost,C++,Visual C++,Boost,我想用VC++2008试用ApacheStrift,但遇到了无法预见的问题。在调试版本中,我在VC++运行库中得到错误“字符串迭代器不兼容”。我跟踪到了对boost::lexical_cast(int)的调用,并且能够在一个简单的测试程序中触发这个bug 以下操作失败,并出现上述迭代器错误(这是boost 1.55的错误): std::string test=boost::lexical_cast(5); 在具有正确行为的发布版本中,一切工作正常。出于某种原因,这一行只在节俭代码中失败,并且在

我想用VC++2008试用ApacheStrift,但遇到了无法预见的问题。在调试版本中,我在VC++运行库中得到错误“字符串迭代器不兼容”。我跟踪到了对
boost::lexical_cast(int)
的调用,并且能够在一个简单的测试程序中触发这个bug

以下操作失败,并出现上述迭代器错误(这是boost 1.55的错误):

std::string test=boost::lexical_cast(5);
在具有正确行为的发布版本中,一切工作正常。出于某种原因,这一行只在节俭代码中失败,并且在最小的测试程序中工作

我已经尝试将
\u HAS\u ITERATOR\u debuging
设置为0,但没有效果,因为调试运行库是使用此标志集编译的。即使在调试构建中,我也尝试选择了发布多线程运行时dll,但这并没有导致使用发布dll。这甚至是个坏主意,因为我使用了其他链接到调试运行时dll的boost编译库


我已经没有想法了,我可以试着解决这些问题吗?

这个问题是因为调试版本使用了旧版发布模式库造成的

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