【发布时间】:2017-08-31 21:16:28
【问题描述】:
我正在将库升级到 MSVC 141 并迁移到 Visual Studio 2017。
我已经下载了最新的 Boost 库 (boost_1_64_0_b2-msvc-14.1-64.exe)。在构建代码时,我收到此错误:
...\boost\move\detail\type_traits.hpp(757):错误 C2187:语法错误: ')' 在这里出乎意料...\boost\move\detail\type_traits.hpp(763): 注意:参见类模板实例化的参考 'boost::move_detail::is_copy_constructible' 正在编译
在提到的标头中,BOOST_MOVE_TT_CXX11_IS_COPY_CONSTRUCTIBLE 已定义,但最新的 MSVC 不理解随附的代码。
取消定义此宏会有所帮助,但是否有更好的解决方案来解决此问题?这是什么原因?
【问题讨论】:
-
我遇到了同样的错误,我是 C++ 新手,所以我真的不知道如何解决它。同时,我在导入ptree.hpp之前添加了以下define #define BOOST_NO_CXX11_DECLTYPE 我确定有更好的方法,我只是不知道是哪一个:)
-
哦,我正在使用 Boost v1.63
-
在我的例子中,
U被定义为一个宏(由 cpprestsdk 定义),与 Boost 代码冲突。我只需要先移动包含 Boost 头文件。
标签: c++ visual-c++ boost