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


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

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

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

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

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

               C:opencvuildx86vc11in      C:opencvuildx64vc11in   因为有时候会用到x64位编译器,所以两个都添加上。

               

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

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

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

               C:opencvuildinclude

               C:opencvuildincludeopencv

               C:opencvuildincludeopencv2

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

               C:opencvuildx86vc11lib

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

    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<opencv2corecore.hpp>
    #include<opencv2opencv.hpp>
    #include<opencv2imgprocimgproc.hpp>
    #include<opencv2highguihighgui.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:opencvuildx86vc11lib 改为 C:opencvuildx64vc11lib,这样基本就没问题。Relaese方面一样。

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

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

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

  • 相关阅读:
    20199106 2019-2020-2 《网络攻防实践》第三周作业
    Vulnhub
    NEEPU-CTF 2021 Web后四题Writeup
    Vulnhub
    [VNCTF 2021]naive题解
    F5杯 Web部分题目Writeup by atao
    CTFSHOW SSTI 刷题
    C语言文件
    函数+进制转换器
    C语言知识点小结
  • 原文地址:https://www.cnblogs.com/code-wangjun/p/6624551.html
Copyright © 2020-2023  润新知