记录安装opencv的过程和碰到的问题以及解决方法

来源:互联网 发布:如何成为黑客 知乎 编辑:程序博客网 时间:2024/06/03 12:27

记录安装opencv的过程和碰到的问题以及解决方法   

2017/8/2

        在笔记本上安装vs2010,安装opencv,解压后,设置了“系统变量”,Path里包含了64位和86的bin链接D:/Program Files/opencv/build/x86/bin以及64位。创建项目,选择编译器的时候,直接新建x64了,然后新建属性表,新建了两个,名字为opencvx64.props和opencvx64release.props,发现系统没有自动识别属性表,此时的属性管理器是这样的。

        由于疑惑,觉得自己建立的属性表是不是/不能用或者不能达到同步,于是寻找路径,从c:/user/username/appdata/MicroSoft/MSbuild/下找到了Microsoft.Cpp.x64.user这个属性表,导入到了项目中。修改的时候发现,debug和release的两个属性表是一样的的时候,更改链接库“外部依赖项”时,debug和release两个部分,没有办法区分开来。

        说一下这里的设置,一个是“VC++目录”这边,这里边的页面“包含目录”下加入了D:/Program Files/opencv/build/以及D:/Program Files/opencv/build/opencv和D:/ProgramFiles/opencv/build/opencv2这三个目录。然后在“库目录”下加入了D:/Program Files/Opencv/build/x64/lib这个目录。这样就是整个设置。

        Debug和release两个属性表的设置实际上是一样的,因为链接库的外部依赖项没有办法区分,那就是一个东西。

        然后就设置了整个项目的属性,右键点击最上面工程名那里设置。因为项目的属性继承了底下的属性,所以无需设置,但在“链接库”的“外部依赖项”这里加入了另外的debug(或者release)的lib列表。

 

以上,这样的设置,无论如何也没有办法通过编译。

 

1. 尝试了完善win32的设置,除了在VC++目录这边是选用的x86目录,其余没有区别,也没有用。

 

2. 尝试了改成win32编译,没有用。

 

3. 尝试了使用一个网上的配置过程如下图,重新设置了环境变量,没有用。

 

4. 尝试改变编译器的“库目录”改为x86的,发现提示与x64平台不符,看来这个属性是x64的没有错。没有用。

 

5. 尝试同时在“库目录”里包含了x86x64,发现会出现错误。没有用。

 

到这里,path的bin目录和“库目录”都选择的是x64,这一点是没有问题的。事实证明,x86只是适合于编译器选择为win32的时候才采用的。

 

最后,删除项目,重新新建一个新的项目,命名名字为“opencvsetup”,然后也是选择编译器为x64,发现还是要新建,否则下拉没有x64这个选项。重点是:在新建的时候,选择了从win32这里继承设置。这一步之前是没有的。

 

然后,这次选择新建属性表,发现win32的属性表是不需要设置的。Ok。然后发现即使是从win32那里继承了设置,那么Debug|x64和Release|x64下面还是只有两个东西:

        这时选择了不导入,直接新建,重点是:这次新建的属性表名字有区别,名字是opencv.x64.debug,也就是加上了“.”作为连接符,这一点之前是没有的。

 

        点击新建的时候,奇迹发生了,同样是新建属性表,这次自动生成了Microsoft.Cpp.x64.user这个visual studio自带的属性表,而且生成了Unicode Support选项,而我们新建的属性表变成了“opencv.x64”后面的“.debug”消失了!这是一个现象。

        接着打开属性配置,发现都已经配置好了。好了,这样的话,我又建立了release,过程类似,但是我这次属性设置是右击“opencv.x64”这个文件的。也就是区别了Debug的选择了Microsoft.Cpp.x64.user这个文件。然后看了一下还是没有办法区分“外部依赖项”。于是在工程的属性表中,“外部依赖项”加入了另外的lib列表。

 

这样,整个配置完成。

 

发现可以运行了。

 

以上。

 

原创粉丝点击