【问题标题】:Expected C++ compiler error in yvals_core.hyvals_core.h 中的预期 C++ 编译器错误
【发布时间】: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++


【解决方案1】:

我最近遇到了同样的问题。

我注意到用于 C++ 的 iostream.h 库包含在我程序中的 .c 文件中。一旦我删除了这个包含指令(#include <iostream.h>),错误就解决了。

检查程序中的所有包含指令并验证它们的正确性。请让我知道这可不可以帮你。

【讨论】:

    【解决方案2】:

    我有同样的问题,我尝试构建一个 vdproj(安装程序),在 Visual Studio 2015 中使用 Visual Studio 2022 没有问题。源代码中没有任何更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多