簡體   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