Я хочу использовать Boost.Filesystem вместе с -fno-exceptions
. Согласно документации Boost.Filesystem, она заявляет, что поддерживает макрос BOOST_NO_EXCEPTIONS
.
Однако следующий фрагмент:
#define BOOST_NO_EXCEPTIONS
#include <boost/filesystem.hpp>
int main() {}
скомпилирован с помощью:
g++ -fno-exceptions boost_test.cpp
дает ошибку:
/.../boost/filesystem/operations.hpp: В конструкторе 'boost:: filesystem:: filesystem_error:: filesystem_error (const string &, повышение:: Система:: error_code) ': /.../boost/filesystem/operations.hpp:84:16: ошибка: исключение обработки отключено, используйте -fexceptions для включения catch (...) {m_imp_ptr.reset(); }
Я компилирую с помощью gcc 5 и повышаю версию 1.57 на Mac OSX (также тестировался на аналогичных настройках ubuntu).
Мне интересно, верно ли мое понимание BOOST_NO_EXCEPTIONS
в том, что оно должно охватывать использование -fno-exceptions
или просто ли оно для части boost::throw_exception
?