I'll look into it. wilx
Lewis Hyatt wrote: > Hi All, > > I apologize if this has been brought up before, but I couldn't find any > mention of it. I think the filesystem component of boost v1.33 currently > available as part of the cygwin distribution has been compiled > incorrectly. As mentioned here: > http://boost.org/libs/filesystem/doc/index.htm#Cgywin (sic), it is > necessary to compile with -DBOOST_POSIX on cygwin for POSIX emulation to > work properly; otherwise it uses Windows file names only and does not > work as expected. Here is a simple demonstration: > > //////////////////////////// > #include <iostream> > #include <boost/filesystem/operations.hpp> > #include <boost/filesystem/exception.hpp> > namespace bfs = boost::filesystem; > > int main(int argc, char **argv) { > //arg checking omitted > try { > bfs::directory_iterator di(argv[1]); > } > catch (bfs::filesystem_error &ex) { > std::cerr << ex.what() << '\n'; > } > } > //////////////////////////// > > If you pass something Windows can handle as the argument, such as ".", > then this program works as expected. If you pass a cygwin path, such > as "~" or "/cygdrive/c", it throws an exception: > > boost::filesystem::directory_iterator constructor: "\home\Lewis": The > system cannot find the path specified. > > or > > boost::filesystem::directory_iterator constructor: "\cygdrive\c": The > system cannot find the path specified. > > I believe this is precisely the consequence of omitting -DBOOST_POSIX > but cannot confirm with certainty. > > Thanks very much to whoever maintains this. > > -Lewis > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/
signature.asc
Description: OpenPGP digital signature