当尝试包含boost :: process库时,我得到2个与boost :: process pipe.hpp文件有关的错误,以及它处理异常的方式。
'<function-style-cast>': cannot convert from 'initializer list' to 'boost::system::system_error' | pipe.hpp | line 129
'boost::throw_exception': no matching overloaded function found | pipe.hpp | line 129
以下是boost :: process pipe.hpp中的违规行:
boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreatePipe failed"));
我认为这与增强可能如何改变它如何处理异常和增强::进程不更新以支持这一点有关,但是我不熟悉增强如何改变。整个pipe.hpp文件抛出这样的异常,但它们不会显示在错误中,因为它们是定义了尚未定义的防护。
答案 0 :(得分:4)
使用boost::system::system_category()
代替boost::system::system_category
。请注意,后者可能适用于较旧的boost版本。请参阅here。
答案 1 :(得分:1)
您可以使用Exception支持重建项目。添加编译标志/ EHsc或/ EHa或/ EHs