一.整体概况

错误 LNK1112 表示您的项目的目标计算机类型与所使用的模块(例如库或对象文件)的计算机类型不匹配。这通常发生在您尝试将 x64 模块与 x86 项目链接时,或反之。

要解决这个问题,可以按照以下几个步骤进行:

  1. 检查项目属性:
  • 在 Visual Studio 中,右击您的项目,选择“属性”。
  • 在“配置属性”中,找到“常规”部分。
  • 检查“平台”设置。确保它与您想要构建的目标一致(例如,选择 x64 或 x86)。
  1. 更改平台:
  • 如果您需要将项目更改为 x64,可以在配置管理器中进行更改:
  • 在菜单中选择“生成” -> “配置管理器”。
  • 在“活动解决方案平台”下拉框中,选择“x64”。如果没有,您可以选择“<新建…>”来创建一个新的 x64 平台。
  1. 确保所有依赖项一致:
  • 确保所有链接的库和依赖项都与您的项目平台一致。如需使用 x64 库,您需要确保它们是针对 x64 架构构建的。
  1. 清理和重建解决方案:
  • 在更改平台或项目设置后,建议对项目进行清理,然后重新生成。
  • 在菜单中选择“生成” -> “清理解决方案”。
  • 接着选择“生成” -> “生成解决方案”。
  1. 检查解决方案中的所有项目:
  • 如果您的解决方案中有多个项目,请确保它们的配置(如 Debug、Release)和平台(x86、x64)设置是统一的。
  1. 使用正确的工具和库版本:
  • 确保您使用的任何外部库或 SDK 版本与目标平台相匹配。
    按照这些步骤,您应该能够解决 LNK1112 错误。

二. 举例

在这里插入图片描述

  • 先说明一下我的环境,编译器我使用的是qt5.9.6的msvc2017_64,所以我vs编译环境得都配置成64位的。
  1. 配置属性设置在这里插入图片描述
  2. 常规设置(都要设置成64位的)
    在这里插入图片描述
  3. 目标计算机设置(选x64)
    在这里插入图片描述
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐