Как применить патчи магистрали к mingw-w64 8.1 - PullRequest
1 голос
/ 08 апреля 2019

Я работаю над получением доступа к заголовку файловой системы из C ++ 17, используя mingw-w64 8.1 на Codeblocks.В частности, есть функция remove_all для удаления всех файлов в каталоге, что было бы очень полезно для меня.Мне известно, что это известная проблема с Windows, о которой сообщалось здесь: SourceForge .Ошибки компиляции, которые я получаю при использовании #include <filesystem> и флага '-lstdc ++ fs', в точности соответствуют сообщениям на этой странице:

C: /programs/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-> rev0 / mingw64 / lib / gcc / x86_64-w64-> mingw32 / 8.1.0 / include / c ++ / bits / fs_path.h: 237: 47: ошибка: нет совпадения для> 'operator! = '(типы операндов:' std :: filesystem :: cxx11 :: path 'и>' std :: filesystem :: cxx11 :: path ') ||(p.has_root_name () && p.root_name ()! = root_name ()))

Я вижу, что это ошибка при чтении путей к файлам Windows.В последнем посте на странице об ошибке упоминается, что для решения проблемы необходимы 2 патча.

Это было исправлено в транке: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78870

Необходимые патчи:

https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=260479 https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=261034

Каковы шаги для фактического применения этих исправлений к моей установке MinGW?Нужно ли менять библиотеки?

...