При попытке включить библиотеку 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"));
Я предполагаю, что это как-то связано с тем, как boost мог изменить то, как он обрабатывает исключения, и boost :: process не обновляется для поддержки этого, однако я не знаком с тем, как изменился boost. Весь файл pipe.hpp генерирует подобные исключения, но они не отображаются в ошибках, так как находятся за определенными защитными устройствами, которые не были определены.
использование boost::system::system_category()
вместо boost::system::system_category
, Обратите внимание, что последний, возможно, работал в более старых версиях Boost. Увидеть Вот.
Вы можете перестроить свой проект с поддержкой исключений. Добавить флаг компиляции / EHsc или / EHa или / EHs