[英]Visual Studio or boost::asio bug?
我剛剛將MSVC2015
“升級”到Update 2,遇到了boost::asio
問題12115 ...
我很高興地說, boost issue 12115
描述的解決方法,即從basic_io_object.hpp
第43行刪除service_has_move
可以很好地進行更改:
#if defined(BOOST_ASIO_HAS_MOVE)
...
static const bool value =
sizeof(service_has_move::eval(
static_cast<service_type*>(0),
static_cast<implementation_type*>(0))) == 1;
...
#endif // defined(BOOST_ASIO_HAS_MOVE)
至
#if defined(BOOST_ASIO_HAS_MOVE)
...
static const bool value =
sizeof(eval(
static_cast<service_type*>(0),
static_cast<implementation_type*>(0))) == 1;
...
#endif // defined(BOOST_ASIO_HAS_MOVE)
我不是編輯庫的忠實擁護者,尤其不是boost
!
因此,有人可以告訴我這是否實際上是一個boost
問題,還是該問題是否是MSVC2015
更改了Update 2中的move
行為?
僅供參考,原始代碼在MSVC2015
Update 1和MinGW
4.9.2(在Windows 10上)和GCC
5.3.1(在Fedora上)下使用boost
1.60.0
和1.61.0
1.60.0
並1.61.0
。
我目前使用的是boost
1.61.0
但boost issue 12115
引發了boost
1.60.0
。
我認為很明顯誰是錯。 如果您必須刪除boost中的某些內容以解決此問題,那么boost是錯誤的,不是嗎? 宏BOOST_ASIO_HAS_MOVE
是基於boost config標頭中的編譯器檢測定義的。 顯然,在更新時,這些標頭依賴的編譯器版本和其他信息不匹配,因此未定義必須刪除的名稱空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.