LNK1112:module machine type 'x86' conflicts with target machine type 'X64' 和 module machine type 'x6

在Windows 7 64位系统上,使用VS 2010进行OpenCV开发时遇到编译错误:LNK1112。错误原因是VS环境、项目配置和OpenCV库版本不匹配。解决方案是确保VS为x86版本,并相应地选择x86的OpenCV库,将项目设置为Target Machine的MachineX86,最终成功编译通过。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象:

1. 系统 windows 7 64bit Ultimate 、  VS.net 2010。(但是,可能我的vs.net 是 x86的,因为我看到安装目录是C:\Program Files (x86)\Microsoft Visual Studio 10.0)

2. 按照 http://www.opencv.org.cn/index.php/VC_2010_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.3#.E4.B8.8B.E8.BD.BDOpenCV 中的步骤安装 OpenCV-2.4.3.exe

3. 编译时出错:LNK1112: module machine type 'x86' conflicts with target machine type 'X64'

4.后来,我在 project 右键 -> properties -> configuration properties -> Linker -> Advanced -> Target Machine 中改成 "MachineX64 (/MACHINE:X64)",编译报错:LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

 

原因:

vs.net 环境的版本、项目属性中的配置、选择的OpenCV 库   三者不完全一致,所以出错。

 

解决方法:

1.由于我的vs.net很可能是 x86 的,所以我调整使用 x86的 OpenCV库;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值