使用 Cmake target_precompile_headers 编译预编译头时出错

问题描述 投票:0回答:0

我正在尝试使用 Cmake (Clion) 设置预编译的头文件,但出现此错误:无法获取编译器信息:并从编译器中收集输出,最后出现“致命错误:cassert:没有这样的文件或目录#包括砂锅。

目标预编译在 add_executable 之后 Cmake 代码:

target_precompile_headers(Engine PRIVATE ${PRECOMPILED_HEADER})

作为我的预编译头的 pch.h 文件只有 cassert 作为包含。

完整错误:

Cannot get compiler information:
Compiler exited with error code 1: C:\Program Files\JetBrains\CLion 2021.3.4\bin\mingw\bin\gcc.exe -xc -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -IG:/Development/Clion/engine/include -IG:/Development/Clion/engine/submodules/imgui -IG:/Development/Clion/engine/submodules/imgui/backends -IG:/Development/Clion/engine/lib/ImGuizmo -IG:/Development/Clion/engine/submodules/ReactPhysics3D/include -IG:/Development/Clion/engine/submodules/assimp/code/../include -IG:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include -IG:/Development/Clion/engine/submodules/spdlog/include -g -fdiagnostics-color=always -Winvalid-pch -include G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h -fpch-preprocess -v -dD -E
Using built-in specs.
COLLECT_GCC=C:\Program Files\JetBrains\CLion 2021.3.4\bin\mingw\bin\gcc.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-11.2.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts=yes --enable-libstdcxx-time=yes --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-D' 'FMT_SHARED' '-D' 'SPDLOG_COMPILED_LIB' '-D' 'SPDLOG_SHARED_LIB' '-I' 'G:/Development/Clion/engine/include' '-I' 'G:/Development/Clion/engine/submodules/imgui' '-I' 'G:/Development/Clion/engine/submodules/imgui/backends' '-I' 'G:/Development/Clion/engine/lib/ImGuizmo' '-I' 'G:/Development/Clion/engine/submodules/ReactPhysics3D/include' '-I' 'G:/Development/Clion/engine/submodules/assimp/code/../include' '-I' 'G:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include' '-I' 'G:/Development/Clion/engine/submodules/spdlog/include' '-g' '-Winvalid-pch' '-include' 'G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h' '-fpch-preprocess' '-v' '-dD' '-E' '-D' '___CIDR_DEFINITIONS_END' '-mtune=generic' '-march=x86-64'
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/cc1.exe -E -quiet -v @C:\Users\yuval\AppData\Local\Temp\ccLlf5DZ -iprefix C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/ -D_REENTRANT -D FMT_SHARED -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D ___CIDR_DEFINITIONS_END -include G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h C:\Users\yuval\AppData\Local\Temp\compiler-file2846084997658249731 -mtune=generic -march=x86-64 -Winvalid-pch -fdiagnostics-color=always -fpch-preprocess -g -fworking-directory -dD -dumpbase compiler-file2846084997658249731
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/include"
ignoring nonexistent directory "/win/include"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../include"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 G:/Development/Clion/engine/include
 G:/Development/Clion/engine/submodules/imgui
 G:/Development/Clion/engine/submodules/imgui/backends
 G:/Development/Clion/engine/lib/ImGuizmo
 G:/Development/Clion/engine/submodules/ReactPhysics3D/include
 G:/Development/Clion/engine/submodules/assimp/code/../include
 G:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include
 G:/Development/Clion/engine/submodules/spdlog/include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/include
End of search list.
In file included from [01m[KG:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h:4[m[K,
                 from [01m[K<command-line>[m[K:
[01m[KG:/Development/Clion/engine/src/pch.h:11:10:[m[K [01;31m[Kfatal error: [m[Kcassert: No such file or directory
   11 | #include [01;31m[K<cassert>[m[K
      |          [01;31m[K^~~~~~~~~[m[K
compilation terminated.


Compiler exited with error code 1: C:\Program Files\JetBrains\CLion 2021.3.4\bin\mingw\bin\gcc.exe -xc -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -IG:/Development/Clion/engine/include -IG:/Development/Clion/engine/submodules/imgui -IG:/Development/Clion/engine/submodules/imgui/backends -IG:/Development/Clion/engine/lib/ImGuizmo -IG:/Development/Clion/engine/submodules/ReactPhysics3D/include -IG:/Development/Clion/engine/submodules/assimp/code/../include -IG:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include -IG:/Development/Clion/engine/submodules/spdlog/include -g -fdiagnostics-color=always -Winvalid-pch -x c-header -include G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h -fpch-preprocess -v -dD -E
Using built-in specs.
COLLECT_GCC=C:\Program Files\JetBrains\CLion 2021.3.4\bin\mingw\bin\gcc.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-11.2.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts=yes --enable-libstdcxx-time=yes --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-D' 'FMT_SHARED' '-D' 'SPDLOG_COMPILED_LIB' '-D' 'SPDLOG_SHARED_LIB' '-I' 'G:/Development/Clion/engine/include' '-I' 'G:/Development/Clion/engine/submodules/imgui' '-I' 'G:/Development/Clion/engine/submodules/imgui/backends' '-I' 'G:/Development/Clion/engine/lib/ImGuizmo' '-I' 'G:/Development/Clion/engine/submodules/ReactPhysics3D/include' '-I' 'G:/Development/Clion/engine/submodules/assimp/code/../include' '-I' 'G:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include' '-I' 'G:/Development/Clion/engine/submodules/spdlog/include' '-g' '-Winvalid-pch' '-include' 'G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h' '-fpch-preprocess' '-v' '-dD' '-E' '-D' '___CIDR_DEFINITIONS_END' '-mtune=generic' '-march=x86-64'
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/cc1.exe -E -quiet -v @C:\Users\yuval\AppData\Local\Temp\ccdqTIf8 -iprefix C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/ -D_REENTRANT -D FMT_SHARED -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D ___CIDR_DEFINITIONS_END -include G:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h C:\Users\yuval\AppData\Local\Temp\compiler-file2846084997658249731 -mtune=generic -march=x86-64 -Winvalid-pch -fdiagnostics-color=always -fpch-preprocess -g -fworking-directory -dD -dumpbase compiler-file2846084997658249731
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/include"
ignoring nonexistent directory "/win/include"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../include"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed"
ignoring duplicate directory "C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 G:/Development/Clion/engine/include
 G:/Development/Clion/engine/submodules/imgui
 G:/Development/Clion/engine/submodules/imgui/backends
 G:/Development/Clion/engine/lib/ImGuizmo
 G:/Development/Clion/engine/submodules/ReactPhysics3D/include
 G:/Development/Clion/engine/submodules/assimp/code/../include
 G:/Development/Clion/engine/cmake-build-debug/submodules/assimp/code/../include
 G:/Development/Clion/engine/submodules/spdlog/include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed
 C:/Program Files/JetBrains/CLion 2021.3.4/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/include
End of search list.
In file included from [01m[KG:/Development/Clion/engine/cmake-build-debug/CMakeFiles/TheEngine.dir/cmake_pch.h:4[m[K,
                 from [01m[K<command-line>[m[K:
[01m[KG:/Development/Clion/engine/src/pch.h:11:10:[m[K [01;31m[Kfatal error: [m[Kcassert: No such file or directory
   11 | #include [01;31m[K<cassert>[m[K
      |          [01;31m[K^~~~~~~~~[m[K
compilation terminated. 

代码编译时没有尝试添加预编译头文件,但显然我想用 pch 编译以节省时间。

c++ cmake precompiled-headers
© www.soinside.com 2019 - 2024. All rights reserved.