LNK1112:模块机器类型“x64”与目标机器类型“x86”冲突-opencv 构建
Posted
技术标签:
【中文标题】LNK1112:模块机器类型“x64”与目标机器类型“x86”冲突-opencv 构建【英文标题】:LNK1112: module machine type 'x64' conflicts with target machine type 'x86' - opencv build 【发布时间】:2019-02-11 12:31:04 【问题描述】:根据link,我一直在尝试在 Windows 中安装 Opencv。我假设link 有助于为 c++ 和 python 安装 opencv。
关于我的系统的更多细节:
** Visual studio - 15.9.6
** Windows 10- 64 bit
** Complete error - 1>------ Build started: Project: gen_opencv_python_source, Configuration: Release Win32 ------
2>------ Build started: Project: opencv_python3, Configuration: Release Win32 ------
2>python36.lib(python36.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
2>Done building project "opencv_python3.vcxproj" -- FAILED.
一位受欢迎的answer 对此问题提出了以下建议:
Check your properties options in your linker settings at: Properties >
Configuration Properties > Linker > Advanced > Target Machine. Select
MachineX64 if you are targeting a 64 bit build, or MachineX86 if you are
making a 32 bit build.
但是,从下图中,除了 Win32 之外,我没有任何其他选择。并且看起来 VS 没有 64 位版本。我该如何解决这个问题,我在上一个答案中遗漏了什么?如果问题是微不足道的,请道歉。
更新
我使用的 python 版本是 3.6.5 64 位。 VS是32位的,这可能是问题吗?
【问题讨论】:
【参考方案1】:当您在 CMake 中选择 Visual Studio 版本(步骤 7.4.a)时,它需要选择 64 位编译器:“Visual Studio 15 64”而不是“Visual Studio 15”。
【讨论】:
工作就像一个魅力!谢谢!以上是关于LNK1112:模块机器类型“x64”与目标机器类型“x86”冲突-opencv 构建的主要内容,如果未能解决你的问题,请参考以下文章
麻烦构建旧版本的 SIP:致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突
尝试在 64 位机器上将 Detours.lib 编译为 32 位:LNK1112:模块机器类型“x86”与目标机器类型“x64”冲突
致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突
致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突
QtCreator上写的HelloWorld报错:LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突