Peter Klotz | 19 Aug 09:36

Boost.Filesystem 1.36.0: Define BOOST_FILESYSTEM_NO_DEPRECATED no longer works

#include <boost/filesystem/convenience.hpp>
int main(void) { return 0; }

When compiling the above code with gcc 4.1 and define BOOST_FILESYSTEM_NO_DEPRECATED I obtain these
error messages:

boost/filesystem/convenience.hpp: In function 'std::string boost::filesystem::extension(const boost::filesystem::path&)':
boost/filesystem/convenience.hpp:98: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp: In function 'std::wstring boost::filesystem::extension(const boost::filesystem::wpath&)':
boost/filesystem/convenience.hpp:100: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp: In function 'std::string boost::filesystem::basename(const boost::filesystem::path&)':
boost/filesystem/convenience.hpp:103: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp: In function 'std::wstring boost::filesystem::basename(const boost::filesystem::wpath&)':
boost/filesystem/convenience.hpp:105: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp: In function 'boost::filesystem::path
boost::filesystem::change_extension(const boost::filesystem::path&, const std::string&)':
boost/filesystem/convenience.hpp:108: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp:108: warning: left-hand operand of comma has no effect
boost/filesystem/convenience.hpp: In function 'boost::filesystem::wpath
boost::filesystem::change_extension(const boost::filesystem::wpath&, const std::wstring&)':
boost/filesystem/convenience.hpp:110: error: expected primary-expression before '>' token
boost/filesystem/convenience.hpp:110: warning: left-hand operand of comma has no effect
boost/system/error_code.hpp: At global scope:

It works, when compiled without BOOST_FILESYSTEM_NO_DEPRECATED. The problem seems to be a new #ifndef in
convenience.hpp that did not exist in 1.35.0.

Regards, Peter.

Peter Klotz
(Continue reading)


Gmane