Error_9_fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

Error Description:

Error_9_fatal error LNK1112: module machine type 'X86'conflicts with target machine type 'x64'

这个错误很多人遇到过,解决方法不难,只要修改几个设置就可以了,网上也有相应的解释。

if(!OpenCV程序){

cout<<"请参考:(我见过的最详细的关于此问题的解决方案)"

"http://www.idigitalhouse.com/Blog/?p=111";

}

else{

cout<<"下面的内容将会对你很有帮助!";

}

Problem Analysis:

笔者今天在研究一段开源程序,因程序需要,之前用的是VS2008+OpenCV2.4.4,感觉略有老套,遂新安装了VS2013+OpenCV2.4.10(因3.0.0是beta版本),笔者系统为x64。

我想OpenCV的配置过程大家都不陌生,网上也有很多现成的资料可供参考。但是,我们在严格按着步骤配置时,不料敌人就埋伏在这里,这很可能是这个错误的真正原因。

 Error_9_fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'_第1张图片

注意上图中的说明(1),问题就出现在这里。

笔者当时就是这样配置的,测试OpenCV显示图片也跑通了。说明无论你是64位或者32位系统的确不影响opencv的使用。

但是,如果你的程序出现了fatalerror LNK1112,并且后面的错误File是OpenCV的库文件的话,那么问题就出现了。你只加入了32位的库,而没加64位的库文件。

Solution:

解决方法很简单,CommonProperties->VC++Directories->Library Directories添加x64库文件路径就OK了,如下图:

Error_9_fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'_第2张图片

你可能感兴趣的:(OpenCV)