我正在使用Boost 1.64并使用CMake在VS 2013中生成了一个项目。代码如下:
mail()
当我尝试调用它时,我收到此错误:
#include <boost\process.hpp>
namespace bp = boost::process;
int main()
{
int result = bp::system("g++ main.cpp");
}
我是否需要添加任何其他头文件才能编译代码?
注意:我知道可能代码没有运行,因为在Windows上我没有gcc,但这不是我的问题,我只是复制示例代码表单提升文档以确保我做了不改变任何艺术。
我将代码更改为:
Error 1 error C3646: 'noexcept' : unknown override specifier C:\Local\boost\boost\process\detail\config.hpp
但我仍然遇到同样的错误。我该如何解决这个问题?
答案 0 :(得分:2)
问题是VS 2013不支持noexcept
。
您需要定义BOOST_NO_CXX11_NOEXCEPT
,然后包含<boost/config.hpp>
,如文档here所示。
BOOST_NO_CXX11_NOEXCEPT
:编译器不支持noexcept
。