C++ 为什么我在MinGW和Cmake上会出现这个错误?

C++ 为什么我在MinGW和Cmake上会出现这个错误?,c++,windows,cmake,mingw,C++,Windows,Cmake,Mingw,所以我试图用blender编译这个flip fluids插件,所以我遵循了本教程,所以我首先运行了cmake.exe-G“MinGW Makefiles”。它告诉我它缺少一个CMakeLists文件。。。所以我加了一个。。。然后我运行了cmake.exe--build.,它显示了3%的错误,比如 In file included from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/threadutils.h:29,

所以我试图用blender编译这个flip fluids插件,所以我遵循了本教程,所以我首先运行了
cmake.exe-G“MinGW Makefiles”。
它告诉我它缺少一个CMakeLists文件。。。所以我加了一个。。。然后我运行了
cmake.exe--build.
,它显示了3%的错误,比如

In file included from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/threadutils.h:29,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/meshlevelset.h:65,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/meshobject.h:30,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/fluidsimulation.h:38,
                 from C:\Users\N\Downloads\Blender-FLIP-Fluids-master\src\engine\c_bindings\fluidsimulation_c.cpp:25:
C:/PROGRA~2/MINGW-~1/I686-8~1.0-P/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/mutex:93:9: note: previous definition of 'class std::recursive_mutex'
   class recursive_mutex : private __recursive_mutex_base
         ^~~~~~~~~~~~~~~
In file included from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/mingw32_threads/mingw.condition_variable.h:25,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/threadutils.h:31,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/meshlevelset.h:65,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/meshobject.h:30,
                 from C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/fluidsimulation.h:38,
                 from C:\Users\N\Downloads\Blender-FLIP-Fluids-master\src\engine\c_bindings\fluidsimulation_c.cpp:25:
C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/mingw32_threads/mingw.mutex.h:142:44: error: conflicting declaration 'typedef class std::_NonRecursive<std::recursive_mutex> std::mutex'
在C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/threadutils.h:29中包含的文件中,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/meshlevelset.h:65,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/meshobject.h:30,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/fluidsimulation.h:38,
从C:\Users\N\Downloads\Blender FLIP Fluids master\src\engine\C\U bindings\fluidsimulation\U C.cpp:25:
C:/PROGRA~2/MINGW-~1/I686-8~1.0-P/mingw32/lib/gcc/I686-w64-mingw32/8.1.0/include/C++/mutex:93:9:注:“class std::recursive_mutex”的先前定义
类递归互斥:私有递归互斥基
^~~~~~~~~~~~~~~
在C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/mingw32_threads/mingw.condition_variable.h:25包含的文件中,
从C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/threadutils.h:31,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/meshlevelset.h:65,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/meshobject.h:30,
从C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/fluidsimulation.h:38,
从C:\Users\N\Downloads\Blender FLIP Fluids master\src\engine\C\U bindings\fluidsimulation\U C.cpp:25:
C:/Users/N/Downloads/Blender-FLIP-Fluids-master/src/engine/mingw32_-threads/mingw.mutex.h:142:44:错误:声明冲突“typedef-class-std::_非递归std::mutex”

这是全部错误,这是从哪里来的??这是一个mingw错误还是什么?有人能帮忙吗?

您的完整错误信息包括一个更有趣的部分:

C:/Users/N/Downloads/Blender FLIP Fluids master/src/engine/mingw32_threads/mingw.thread.h:32:2: 错误:#错误此版本的MinGW似乎包含的win32端口为 pthreads,并且可能已经有了C++11 std线程类 实现,基于pthreads。你很可能会上这门课 下面是重新定义错误,不幸的是,此实现可能 不可单独使用且独立于系统标头, 因为它依赖于std::unique_lock和其他实用程序类。 如果您仍然希望使用此实现(因为它更 轻量级),您必须编辑 MinGW不定义_GLIBCXX_有_GTHREADS。这将防止系统崩溃 定义实际线程类时仍定义 必要的实用程序类


因此,要么安装不同版本的mingw,要么按照上述说明编辑您的mingw文件。

既然有一个mingw32_线程文件夹,我就必须下载32位版本?我该怎么做?