预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

VS2017编译mbsystem5.7.8的bsio库

报了一个C1853错误:

预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

搜索了一下问题,有几篇博文介绍了:

C/C++混合编程出现:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)问题的解决方案_puppet_master的博客-CSDN博客

解决Visual C++ 混合编译C和C++文件时的错误fatal error C1853_code_future的博客-CSDN博客_混合 编译 c 文件 和 c++文件报错

解决:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)_足球中国的博客-CSDN博客_预编译头文件来自编译器的早期版本

看了半天,大概明白是怎么回事。

解决方法:

(1)先创建与预编译头文件,选择创建(/Yc),编译,生成了预编译头文件

(2)选择使用(/Yu),编译就可以了