【发布时间】:2022-09-29 18:27:41
【问题描述】:
我在 Visual Studio 中使用 CMake,但我不断收到错误 yvals_core.h(23): fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler.
此错误仅在我将所有包含移动到我的预编译头文件后发生。看起来__cplusplus 宏由于某种原因没有定义。
更多信息:我只有一个头文件,其中包含我需要的所有内容。然后我只是使用target_precompile_headers将该头文件添加到预编译的头文件中
-
预编译的头文件一直在使用,所以我们知道它们不只是删除宏。您不小心将代码的一部分编译为 C 而不是 C++ 的可能性为 99.9%。
-
@BoP 我只是查看了输出。看起来错误发生在编译 C 对象
cmake_pch.c.obj时。这当然可以解释为什么没有定义__cplusplus宏。看起来它也在编译一个单独的 C++ 对象cmake_pch.cxx.obj。我想我会尝试看看哪个文件包含yvals_core.h。我会尽快报告
标签: c++