Desidero utilizzare Boost.Filesystem insieme a -fno-exceptions
. Secondo lo Boost.Filesystem documentation, afferma che supporta la macro BOOST_NO_EXCEPTIONS
.BOOST_NO_EXCEPTIONS garantisce la compatibilità con le eccezioni?
Tuttavia, il seguente snippet:
#define BOOST_NO_EXCEPTIONS
#include <boost/filesystem.hpp>
int main() {}
compilato con:
g++ -fno-exceptions boost_test.cpp
dà l'errore:
/.../boost/filesystem/operations.hpp: In constructor 'boost::filesystem::filesystem_error::filesystem_error(const string&, boost::system::error_code)': /.../boost/filesystem/operations.hpp:84:16: error: exception handling disabled, use -fexceptions to enable catch (...) { m_imp_ptr.reset(); }
compilo usando GCC 5 e spinta versione 1.57 su Mac OSX (testato anche su configurazioni di Ubuntu simili).
Mi chiedo se la mia comprensione di BOOST_NO_EXCEPTIONS
è corretta in quanto dovrebbe coprire l'utilizzo di -fno-exceptions
o se è semplicemente lì per la parte boost::throw_exception
?
Compiles per me con Clang 3.6, può essere riprodotto con GCC 5.1. – Columbo