Ich bin noob zu C++ Boost. Kann mir hier jemand helfen, dieses Programm zu debuggen?Hilf mir dabei zu debuggen - C++ Boost
#include <iostream>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/fstream.hpp>
using namespace boost::filesystem;
using namespace std;
void show_files(const path & directory, bool recurse_into_subdirs = true)
{
if(exists(directory))
{
directory_iterator end ;
for(directory_iterator iter(directory) ; iter != end ; ++iter)
if (is_directory(*iter))
{
cout << iter->native_directory_string() << " (directory)\n" ;
if(recurse_into_subdirs) show_files(*iter) ;
}
else
cout << iter->native_file_string() << " (file)\n" ;
}
}
int main()
{
show_files(".") ;
}
Wen ich versuche, dieses Programm auszuführen, ich bin immer Fehler wie
ex2.cpp: In function ‘void show_files(const boost::filesystem2::path&, bool)’:
ex2.cpp:15: error: ‘class boost::filesystem2::basic_directory_entry<boost::filesystem2::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem2::path_traits> >’ has no member named ‘native_directory_string’
ex2.cpp:19: error: ‘class boost::filesystem2::basic_directory_entry<boost::filesystem2::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem2::path_traits> >’ has no member named ‘native_file_string’
Tanx im Voraus. P.S. Dieses Programm listet alle Dateien/Ordner auf
ich oben Code versucht. Aber es gibt viel Fehler. BTW Tanx für Ihre Antwort – Allwyn
Dies kompiliert und läuft perfekt auf meinem Rechner (OS X mit Boost 1.44). Die einzigen Änderungen von Ihrem Code, den ich oben beschrieben habe. Was sind die Fehler, die Sie bekommen? Das Problem kann durch den Wechsel von v2 zu v3 in der Boost-Dateisystem-API verursacht werden, die eine große Anzahl von Schnittstellenänderungen bewirkt. Wenn Sie mir die Version sagen, die Sie verwenden, können wir das sicher lösen. – gavinb
Ich benutze 1.45. – Allwyn