Hi,
If i compile with -DBOOST_SYSTEM_NO_DEPRECATED
and #include
The compile will fail with the message:
boost/filesystem/convenience.hpp: In function ‘typename
boost::enable_if::type
boost::filesystem::create_directories(const Path&)’:
boost/filesystem/convenience.hpp:48: error: ‘posix’ is not a member of
‘boost::system’
BOOST_FS_FUNC(bool) create_directories(const Path& ph)
{
if (ph.empty() || exists(ph))
{
if ( !ph.empty() && !is_directory(ph) )
boost::throw_exception( basic_filesystem_error<Path>(
"boost::filesystem::create_directories", ph,
make_error_code( boost::system::posix::file_exists ) ) );
return false;
}
The line with boost::system::posix::file_exists is the key problem.
In boost/system/error_code.hpp, posix is defined as a namespace
# ifndef BOOST_SYSTEM_NO_DEPRECATED
namespace posix = errc;
namespace posix_error = errc;
# endif
but ONLY if I don't define NO_DEPRECATED...
Maybe time for regression tests with BOOST_SYSTEM_NO_DEPRECATED defined?
thanks,
Paul