一.整体概况
错误 LNK1112 表示您的项目的目标计算机类型与所使用的模块(例如库或对象文件)的计算机类型不匹配。这通常发生在您尝试将 x64 模块与 x86 项目链接时,或反之。
要解决这个问题,可以按照以下几个步骤进行:
- 检查项目属性:
- 在 Visual Studio 中,右击您的项目,选择“属性”。
- 在“配置属性”中,找到“常规”部分。
- 检查“平台”设置。确保它与您想要构建的目标一致(例如,选择 x64 或 x86)。
- 更改平台:
- 如果您需要将项目更改为 x64,可以在配置管理器中进行更改:
- 在菜单中选择“生成” -> “配置管理器”。
- 在“活动解决方案平台”下拉框中,选择“x64”。如果没有,您可以选择“<新建…>”来创建一个新的 x64 平台。
- 确保所有依赖项一致:
- 确保所有链接的库和依赖项都与您的项目平台一致。如需使用 x64 库,您需要确保它们是针对 x64 架构构建的。
- 清理和重建解决方案:
- 在更改平台或项目设置后,建议对项目进行清理,然后重新生成。
- 在菜单中选择“生成” -> “清理解决方案”。
- 接着选择“生成” -> “生成解决方案”。
- 检查解决方案中的所有项目:
- 如果您的解决方案中有多个项目,请确保它们的配置(如 Debug、Release)和平台(x86、x64)设置是统一的。
- 使用正确的工具和库版本:
- 确保您使用的任何外部库或 SDK 版本与目标平台相匹配。
按照这些步骤,您应该能够解决 LNK1112 错误。
二. 举例
- 先说明一下我的环境,编译器我使用的是qt5.9.6的msvc2017_64,所以我vs编译环境得都配置成64位的。
- 配置属性设置
- 常规设置(都要设置成64位的)
- 目标计算机设置(选x64)