簡體   English   中英

Visual Studio還是boost :: asio錯誤?

[英]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.01.61.0 1.60.01.61.0
我目前使用的是boost 1.61.0boost issue 12115引發了boost 1.60.0

我認為很明顯誰是錯。 如果您必須刪除boost中的某些內容以解決此問題,那么boost是錯誤的,不是嗎? BOOST_ASIO_HAS_MOVE是基於boost config標頭中的編譯器檢測定義的。 顯然,在更新時,這些標頭依賴的編譯器版本和其他信息不匹配,因此未定義必須刪除的名稱空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM