2014-09-12 60 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

問題是由於調試版本使用節儉發佈模式庫而引起的。

相關問題