
I am on ubuntu 8.04. When upgrading from 1.34.1 to 1.36 the following code breaks. bfs_test.cpp: #include <iostream> #include <boost/filesystem.hpp> using std::cout; using std::endl; namespace bfs = boost::filesystem; int main() { bfs::recursive_directory_iterator end_itr; for( bfs::recursive_directory_iterator itr( "." ); itr != end_itr; ++itr ) { cout << bfs::extension( itr->leaf() ) << endl; } return 0; } I compile for 1.34.1 like this: gcc -o bfs bfs_test.cpp -lstdc++ -lboost_filesystem-gcc41-mt-1_34_1 running the result prints all file extensions recursively as expected. After switching to 1.36 compiling like this: gcc -o bfs bfs_test.cpp -lstdc++ -lboost_filesystem-gcc42-mt-1_36 gives the following error: bfs_test.cpp: In function 'int main()': bfs_test.cpp:13: error: 'class boost::filesystem::basic_directory_entry<boost::filesystem::basic_path<s td::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >' has no member named 'leaf' My mistake, or did something change/break? Scott Finley