2016-04-07 7 views
1

Beim Versuch, die boost :: Prozessbibliothek enthalten i erhalten 2 Fehler, die sich pipe.hpp Datei boost :: Prozess mit der Art und Weise es Ausnahmen verarbeitet.boost :: Prozess kann nicht wegen boost :: kompilieren throw_exception

'<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 

Hier ist die Codezeile in boost :: Prozess pipe.hpp:

boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreatePipe failed")); 

Ich nehme an, das etwas mit dem zu tun hat, wie boost geändert haben kann, wie es Ausnahmen und steigern Griffe :: Prozess nicht aktualisiert, um das zu unterstützen, aber ich bin nicht vertraut mit dem Boost hat sich geändert. Die gesamte Datei "pipe.hpp" gibt Ausnahmen wie diese aus, aber sie werden nicht in den Fehlern angezeigt, da sie hinter definierten Wächtern stehen, die nicht definiert wurden.

Antwort

4

Verwenden boost::system::system_category() statt boost::system::system_category. Beachten Sie, dass letzteres möglicherweise in älteren Boost-Versionen funktioniert hat. Siehe here.

1

Sie können Ihr Projekt mit Ausnahme Unterstützung wieder aufzubauen. Fügen Sie das Kompilier-Flag/EHsc oder/EHa oder/EHs

hinzu
Verwandte Themen