OpenCV2.4.11+VS2012的环境配置+“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题解决

本来OpenCV环境配置的问题是个基础问题,但是步骤有点小烦,所以几乎每次都要百度一下,加上这次遇到的“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题的解决,所幸写一篇博客,以后还要配置环境,自己可以直接看。

首先来说OpenCV环境配置问题:

第一步:给OpenCV压缩包解压到一个磁盘中,任何磁盘都可以,我选择解压在C盘。

第二步:环境变量的配置,计算机—属性—高级系统设置—环境变量

 

 

第三步:在系统变量当中找到Path,并且在path双击path,开启编辑模式。在path当中添加OpenCV的相关路径,根据文件解压的位置做出相应的更改,比如我的就是:

           C:\opencv\build\x86\vc11\bin      C:\opencv\build\x64\vc11\bin   因为有时候会用到x64位编译器,所以两个都添加上。

           

 

第四步:打开VS2012新建一个工程,然后找到属性管理器,点击Debug栏目,右键添加新项目属性表,并且进行相关命名,因为以后会反复用到这个东西,所以名字要特别一点。

 

第五步:双击新建的属性表,添加相应的目录。

           通用属性— VC++目录 — 包含目录:  (根据解压文件的位置)例如我的分别是:

           C:\opencv\build\include

           C:\opencv\build\include\opencv

           C:\opencv\build\include\opencv2

           然后是 库目录  也是根据解压位置添加的:

           C:\opencv\build\x86\vc11\lib

 

 

第六步: 添加附加依赖项:连接器——输入——添加附加依赖项 ,然后将下面文件名放进去。

opencv_core2411d.lib
opencv_imgproc2411d.lib
opencv_highgui2411d.lib
opencv_ml2411d.lib
opencv_video2411d.lib
opencv_features2d2411d.lib
opencv_calib3d2411d.lib
opencv_objdetect2411d.lib
opencv_contrib2411d.lib
opencv_legacy2411d.lib
opencv_flann2411d.lib

好了,至此OpenCV环境已经配好了,可以用下面的代码跑一下试试有没有成功:

#include<opencv2\core\core.hpp>
#include<opencv2\opencv.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\highgui\highgui.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat img=imread("F:/2.jpg");  //图片路径
    if(img.empty()){
        return -1;
    }
    imshow("hehe",img);
    waitKey(0);
    return 0;
}

Release模式和Debug模式差不多,只不过在添加附加依赖项的时候,将附件依赖项的文件名后面的“d”给去掉。

 

现在我们再讨论一下fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突问题的解决:即我们需要再64位环境下编译运行,但是出现这个问题。

首先要确保这两个地方没有问题:

1:项目解决方案——属性——连接器——高级——目标计算机,看目标计算机是否是MachineX64,不是的话更改为。

2:配置管理器——新建(有的话直接选择)x64

这两个搞定之后,试一试能不能跑,不能跑的话,我们回到刚刚设置建立的OpenCV属性表当中,注意是修改DebugX64位下面的属性表,将我们的库目录的路径更改一下,

将原来的 C:\opencv\build\x86\vc11\lib 改为 C:\opencv\build\x64\vc11\lib,这样基本就没问题。Relaese方面一样。

========================更新一下===============================================================

OpenCV 3 +VS2017 一个小问题:由于找不到opencv_world331d.dll,程度无法应用。

解决:将opencv_world331d.dll 拷贝到Windows/System32里面。

 

posted @ 2017-03-26 22:54  图米大侠  阅读(40140)  评论(0编辑  收藏  举报