zoukankan      html  css  js  c++  java
  • (详细)vs2017配置opencv,一次性配置项目环境属性,解决遇到的无法打开opencv2/core/core.cpp

    一.根据自己电脑型号下载合适的opencv,我的是3.4.1

    网址:https://opencv.org/releases.html#

    二。解压

    双击下载好的安装包,Extract to到自己想安装的路径(路径最好不要有中文!!)

    解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹

    三。配置系统变量

    右击此电脑——属性——高级系统设置——环境变量——Path——新建

    将你解压的opencv文件夹中的***opencvuildx64vc14in路径添加到当中

    点击确定,确定。

    四。文件配置

    1.找到OpenCV的opencv_world341d.dll文件,在**opencvuildx64vc14in 路径下

    然后把路径下的3个.dll文件复制到C:WindowsSystem32 路径下 。否则新建项目后会报错:找不到 .dll(动态链接库文件)

    2.将**opencvuildx64vc14in目录下面的opencv_world341.dll和opencv_world341d.dll文件复制到C:WindowsSysWOW64这个文件夹里

    五。配置vs2017属性:

    1、新建一个空项目或控制台项目

    2、进入属性管理器,菜单栏->视图->其他窗口->属性管理器

    3、对Debug|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

    4、这里我们对属性中的 VC++目录->包含目录->编辑:

      加入安装的完整路径:**opencvuildinclude

                **opencvuildincludeopencv

                **opencvuildincludeopencv2

    5.VC++目录->库目录->编辑

      加入:**opencvuildx64vc14lib

    6.链接器->输入->附加依赖项中加入 :opencv_world341d.lib

    7.对项目的属性进行配置:

      视图—>其他视图->属性管理器->

      对Release|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

      链接器->输入->附加依赖项中加入:opencv_world341d.lib

    注意:如果是opencv其他版本,只需要将将上述的依赖项文件稍作修改即可;eg:如果是opencv版本3.4.0,只需要将dll名字改为opencv_world340d.lib即可

    8.配置结束,但是vs这一栏要用x64,符合上面的配置,不然会报错,至于Debug下面会解释

    六。测试

    #include <iostream> 
    #include <opencv2/core/core.hpp> 
    #include <opencv2/highgui/highgui.hpp> 
    
    using namespace cv;
    
    int main()
    {
    // 读入一张图片 
    Mat img = imread("C:\1.jpg");
    // 创建一个名为 "图片"窗口 
    namedWindow("图片");
    // 在窗口中显示图片 
    imshow("图片", img);
    // 等待1000 ms后窗口自动关闭 
    waitKey(1000);
    return 0;
    }

     七。可能遇到的各种问题:

    1.找不到.dll:

    找到OpenCV的opencv_world341d.dll文件,在**opencvuildx64vc14in 路径下

    然后把路径下的3个.dll文件复制到C:WindowsSystem32 路径下 

    2.启动程序后无法打开源文件 iostream:

       此处问题还可能出在包含目录上。在要把从父级或项目默认设置继承复选框勾上,因为包含目录修改了系统的include宏的值。在属性中的包含目录、源目录等中勾选从父级或项目默认设置继承,(我用的这个方法)或者全局范围内寻找#include<xxxx.h>中的xxxx.h的搜索目录。(这是百度到的,但是我没用这个方法,)还有一个方法我也没用,毕竟windows文件不想随意动,详看https://blog.csdn.net/hackerwin7/article/details/8456536

    3.无法打开opencv2/core/core.cpp

    (1)先看包含目录有没有问题:

      **opencvuildinclude

      **opencvuildincludeopencv

      **opencvuildincludeopencv2

    这样的路径可能存在:#include opencv2/core/core.hpp 中opencv2已经在包含目录中的问题。。。。

    所以只要把路径中重复的opencv2去掉就好啦。因为opencv中很多的相关文件都包含了opencv2,

    所以,把‘包含目录’中的第三项改成和第一项一样的(不能删第一项,还必须是三项)

      (2)如果上面的方法还不行,就把包含目录改回去,然后看上面图中vs的debug,x64有没有问题

    可能是因为visual studio的生成模式Debug/Release搞的鬼,跟代码无关。

    其实VS提供的Debug和Release两种调试模式完全使用不同的两套类库,所以在设置的时候一定要看清,看下图:

    这两个要一致,不然哭死……

    八。怎样一次性配好OpenCv,后面建项目时不再一次次配环境?

    (1)打开你建成功的第一个测试文件,点击:视图,其他窗口,属性管理器,右击Debug|64(根据你的配置来选,可以都生成一下,以防万一,我只生成了对应的一个,是没有问题的),添加属性表,

    编辑名字,保存,记住保存的位置,此时Debug|64下已经有了属性表;

    (如果是新建的项目,需要双击属性表进行上面讲解的配置……包含目录啥的)

    (2)新建一个项目,直接找到属性管理器,右击Debug|64,添加现有属性表,找到刚刚存的属性表(后缀是 .props),确定。

    以后每次建项目就可以直接添加属性表了。

    运行。。。。结束

  • 相关阅读:
    fzu 2204 7 dp
    fzu Problem 2198 快来快来数一数 (快速幂+优化)
    Hdu 5464 Clarke and problem (dp)
    Hdu 5458 Stability (LCA + 并查集 + 树状数组 + 缩点)
    Codeforces Round #321 (Div. 2) A, B, C, D, E
    Hdu 5451 Best Solver (2015 ACM/ICPC Asia Regional Shenyang Online) 暴力找循环节 + 递推
    Hdu 5459 Jesus Is Here (2015 ACM/ICPC Asia Regional Shenyang Online) 递推
    Hdu 5452 Minimum Cut (2015 ACM/ICPC Asia Regional Shenyang Online) dfs + LCA
    Hdu 5442 Favorite Donut (2015 ACM/ICPC Asia Regional Changchun Online 最大最小表示法 + KMP)
    I Count Two Three---hdu5878(打表+二分)
  • 原文地址:https://www.cnblogs.com/lyqf/p/10708191.html
Copyright © 2011-2022 走看看