链接器工具错误 LNK1112

模块计算机类型“type1”与目标计算机类型“type2”冲突

备注

指定为输入的对象文件为不同的目标平台进行了编译。

例如,如果你尝试链接使用 /clr 编译的对象文件和使用 /clr:pure(计算机类型 CEE)编译的对象文件,则链接器将生成错误 LNK1112。 /clr:pure 编译器选项在 Visual Studio 2015 中已弃用,在 Visual Studio 2017 中不受支持。

同样,如果使用 x64 编译器创建一个模块并使用 x86 编译器创建另一个模块,然后尝试链接它们,那么链接器将生成 LNK1112。

此错误的可能原因是你正在开发 64 位应用程序,但未安装其中一个 Visual C++ 64 位编译器。 或者,你的目标是 ARM 或 ARM64 平台,但尚未安装 ARM 或 ARM64 生成工具。 若要解决此问题,请运行 Visual Studio 安装程序并安装缺少的 C++ 组件。

在删除中间项目文件前,如果在“配置管理器”中更改“活动解决方案配置”,然后尝试生成项目也会发生此错误。 若要解决此错误,请从“生成”菜单选择“重新生成解决方案”。 还可从“生成”菜单选择“清理解决方案”,然后生成解决方案。

另请参阅