Greetings, David Stacey! >> QDir::mkpath() fails when creating paths that start '/cygdrive/'. This >> problem is only shown with Qt5 (not Qt4), and only with paths that >> start '/cygdrive/' (so running from my home directory '~' is fine). >> This is not a permissions problem, as it works fine with Qt4. >> >> Sample programme is below. Compile for Qt5 as per the comments. 'cd >> /cygdrive/X' where X is a local drive where you have permissions to >> create a directory. Run './create_directory new_dir' and it fails to >> create the directory. Programme works fine when compiled with Qt4.
> I have updated to libQt5Core5-5.4.2-2, and I'm still getting this > problem. Is anyone else able to reproduce this, or offer some insight as > to why it might be failing? For completeness, my example programme is > included below. QDir in Qt5 have known issues. A number of them. One serious issues is a failure to treat international (UNICODE) paths. Probably related to all unicode handling in that area. Hang on the updates channel to see them resolved. > Dave. > // Programme to create a directory. > // Works with Qt4: > // g++ -I/usr/include/qt4 -o create_directory create_directory.cpp -lQtCore > // > // Fails with Qt5 if run from a path starting '/cygdrive/', otherwise OK: > // g++ -I/usr/include/qt5 -o create_directory create_directory.cpp > -lQt5Core > #include <QtCore/QDir> > #include <iostream> > int main(int argc, char** argv) > { > if (argc != 2) > std::cerr << "Syntax: create_directory <name>"; > else > { > QDir dir(QDir::currentPath()); > if (!dir.mkpath(argv[1])) > std::cerr << "Failed to create directory '" > << argv[1] << "'." << std::endl; > } > return 0; > } -- With best regards, Andrey Repin Thursday, August 13, 2015 02:37:16 Sorry for my terrible english... -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple