错误是这样的:
mingw32-make[2]: *** [CMakeFiles\MyProject.dir\build.make:94: CMakeFiles/MyProject.dir/main.cpp.obj] Error 1
build.make 中的第 94 行如下所示:
C:\PROGRA~1\mingw64\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -Winvalid-pch -include MyProjectDirectory/build/CMakeFiles/MyProject.dir/cmake_pch.hxx -MD -MT CMakeFiles/MyProject.dir/main.cpp.obj -MF CMakeFiles\MyProject.dir\main.cpp.obj.d -o CMakeFiles\MyProject.dir\main.cpp.obj -c MyProjectDirectory\main.cpp
当我尝试构建一个在预编译头文件中包含某些文件集的项目时出现。
通过反复试验,我发现了两组导致此错误的包含。第一个是来自 Vulkan SDK 的单个文件 vulkan.hpp。第二个是 SDL 中的三个文件 SDL.h、Vulkan Bootstrapping 库中的 VkBootstrap.h 和标准库中的“文件系统”。我将 GCC 与 MinGW-w64 一起使用。如果我删除三个包含中的任何一个,则不会出现错误。
我试过用预编译的头文件和一个空的 main() 制作一个简单的项目。我不知道是什么原因造成的,我宁愿不必手动挖掘这些文件。