错误 C1047

对象或库文件“filename”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库

如果使用新版本的编译器来生成项目,而未完全重新生成现有的对象文件或库,则可能会发生此错误。

备注

在不同版本的 Visual Studio C/C++ 编译器工具集中使用 /GL/LTCG 生成的目标文件或库链接在一起时,会导致 C1047。 例如,无法将使用 Visual Studio 2019 版本 16.7 生成的 /LTCG 库链接到使用 Visual Studio 2019 版本 16.8 生成的应用。 用于编译对象和库的工具集的主要和次要更新编号必须完全匹配。

若要解析 C1047,请使用同一版本的工具集重新生成所有对象文件或库。

另请参阅

/GL(全程序优化)
/LTCG(链接时间代码生成)
Visual Studio 版本之间的 C++ 二进制兼容性