É possível usar o yaml-cpp sem suporte de exceção?
Atualmente, eu uso yaml-cpp-0.8.0. Quando tento compilar um programa que usa yaml-cpp recebo o seguinte erro:
external/yaml-cpp~override/src/scanscalar.cpp:52:11: error: cannot use 'throw' with exceptions disabled
52 | throw ParserException(INPUT.mark(), ErrorMsg::DOC_IN_SCALAR);
| ^
Como tenho exceções desabilitadas por motivos de desempenho, me pergunto se existe um sinalizador/definir algo que me permita usar o yaml-cpp sem suporte a exceções.
Não, as exceções são codificadas na biblioteca yaml-cpp, portanto não há opção para desativá-las.
A fonte da função específica que você está perguntando é assim:
... e não há
#ifdef
s ou qualquer outra coisa que possa desabilitar o uso de exceções.Em um nível mais fundamental, uma das classes mais centrais da biblioteca, a
Yaml::Node
, nem sequer temnoexcept
semântica de movimentação, sobre a qual levantei uma questão em Make move construtor e operador de atribuição noexcept #809 e tentei corrigir, mas não consegui não consigo fazer esse commit.A pergunta É possível desabilitar a exceção? #930 também foi aumentado.