![](/img/trans.png)
[英]Can boost::lexical_cast<std::string>(Int_Type) ever throw?
[英]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.