opencv在vs2012下重编译详细教程——解决按f11进入不了源代码

最近用到opencv人脸识别的代码,想进源码看看实现过程,大家都知道opencv的源码在opencv/modules下,但是光看那么长的源代码实在麻烦,要是能在调试的时候按f11直接就能跟进内部代码就好了。说到这里大家会想为什么进不了呢?这是因为我们的程序调用opencv的函数使用的是opencv/build/x86/bin下的动态链接库,这是opencv为所有windows用户提供的,想要跟进代码就必须在本地编译生成链接库等必须文件。

本文参考了文章Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV这里讲的详细但还是有点错误,这里我来总结一下,避免大家走弯路。

1、工具

下载并安装这几个工具:CMake、OpenCV、Visualstudio

下载OpenCV:http://opencv.org/downloads.html

下载CMake:http://www.cmake.org/cmake/resources/software.html,安装

2、用CMake生成OpenCV的VS2012解决方案

首先按照下图标注,①是opencv所在目录②是接下来的工程目录(自己新建),接下来点configure按钮直到不出现红色,然后点Generate 生成工程文件,成功的话会在C:/svn/opencvproject下生成工程文件


3、打开opencv工程并编译源代码,生成我们所需要的动态链接库

在C:/svn/opencvproject找到Opencv.Sln,打开如下图

这里首先点开Debug处的小三角选择配置管理器,如果INSTALL未选择则选中,然后确定;右键ALL_BUILD生成debug版的工程文件,10分钟左右,完成后切换到Realease右键ALL_BUILD生成。



4、配置Opencv环境变量

注意,这里也是跟上述文章不一样的地方,估计是因为OpenCV版本不同吧,导致配置上有所不同,

环境变量path应该添加以下两个路径:
C:\svn\opencvproj\bin\Debug 和  C:\svn\opencvproj\bin\Release

注:C:\svn\opencvproj\ 是我用CMake生成的VS2012工程的所在目录。

注意:之前用的是OpenCV自带编译版本的请注意了,应该将原来环境变量删除后再添加。否则调试的时候还是多多少少有些问题

5、修改工程属性

右键你的项目,选择属性,点中VC++目录,修改包含目录和库目录
1.包含目录设置为:C:\svn\opencvproj\install\include ; C:\svn\opencvproj\install\include\opencv ; C:\svn\opencvproj\install\include\opencv2(这解释了刚才为什么要勾选INSTALL了,否则是找不到install这个目录的,如果还是没有就展开工程CMakeTargets右键INSTALL分别在Debug和Realease下生成
2.库目录设置为:C:\svn\opencvproj\lib\Debug
3.添加附加依赖项,在 链接器->输入->附加依赖项处添加:
opencv_calib3d246d.lib
opencv_contrib246d.lib
opencv_core246d.lib
opencv_features2d246d.lib
opencv_flann246d.lib
opencv_gpu246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
opencv_legacy246d.lib
opencv_ml246d.lib
opencv_nonfree246d.lib
opencv_objdetect246d.lib
opencv_photo246d.lib
opencv_stitching246d.lib
opencv_video246d.lib
opencv_superres246d.lib
opencv_ts246d.lib
opencv_videostab246d.lib
这里根据自身情况来定,不同版本不同项目所需的lib文件可能不一样
这里的246d代表opencv版本是2.4.6,d代表debug版,release是不加d的,注意区分!

到这里,我们的所有配置已经完成,主要上文区别的地方在环境变量path不同,包含的库目录不同

6.测试项目

到项目中设置断点,按f11看能否跳进opencv代码内部


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QQ浏览器怎么截取整个网页 QQ浏览器完整截取网页的方法

浏览器在我们工作娱乐的时候给我们带来了许多便利,在我们浏览网页时可能有这样的需求,将某个页面的内容截取成图片,而QQ截图功能只能实现局部截图,因此这时候我们可以考虑使用流量器自带的截图工具,这里用QQ浏览器为例…

在jsp中对mysql数据库分页的方法

针对分页,首先开发一个 PageBean 用来控制页面参数: Java代码 package com.longweir; //分页后的javaBean import java.sql.*; import com.longweir.util.*; public class PageBean { private int pageSize5; // 每页显示的记录…

谷歌浏览器提示您的连接不是私密连接怎么办

谷歌浏览器是现在很多用户都在使用的上网流量应用,但是㜾有用户反应在互联网手机扫码继续观看很多小伙伴都在使用谷歌浏览器的时候提示了您的连接不是私密连接,那么该怎么办呢?今天就为你们带来了谷歌浏览器提示您的连接不是私密连接解决方法&#xff0…

centos的glibc升级方案 'GLIBCXX_3.4.15' not found错误的解决

升级Centos系统之后,运行filezilla时,出现如下错误的提示信息: /usr/lib/libstdc.so.6: version GLIBCXX_3.4.15 not found (required by ...) 如果是64位系统报错信息如下: /usr/lib64/libstdc.so.6: version GLIBCXX_3.4.15 not…

windows7怎么清空电脑只剩系统

windows7怎么清空电脑只剩系统?在用户使用电脑的过程中,日积月累总会产很多的垃圾,导致我们电脑的运行速度变得缓慢,这时候我们就需要对电脑进行一定的清理,让电脑能够恢复到最佳的状态,小编今天就来教大家win7清空只…

win7系统显卡在哪查看

win7显卡在哪看?显卡对我们电脑的性能来说是非常重要的,很多用户在购买电脑的时候,显卡的好坏也是首要的选项,不过有一些用户到目前为止还不知道win7系统显卡在哪查看,小编就来告诉大家win7查看显卡型号的操作办法。 win7系统显…

新版火狐浏览器怎么调整字体 火狐浏览器字体调整技巧分享

相信有了解的朋友都清楚,官方在新版火狐浏览器中不仅优化了UI设计,还带来了一些细微的变化与改进。那么,新版火狐浏览器该怎么调整字体呢?下面小编就来分享一下火狐浏览器字体调整技巧,有需要的朋友可以稍作参考。 方法步骤 打…

Java面试题(亲身经历)

abstract class和interface的区别 1.interface需要实现,用implements,而abstract class需要继承,用extends2.一个类可以实现多个接口,但只能实现一个抽象类3.interface强调特定功能的实现,而abstract class强调所属关系…

ie浏览器收藏夹位置更改步骤

ie浏览器收藏夹位置更改步骤 ie浏览器收藏夹位置怎么更改?我们知道,系统盘空间的大小对于系统的运行速度有很大的影响,所以我们应该尽量减少系统盘的压力,而由于IE浏览器的收藏夹默认在系统盘,下面浏览器家园小编就教你如何更改收…

毕业论文经验

以前总听学长学姐们抱怨论文烦答辩烦,想想不就写一个字多的作文嘛有啥难的。最近轮到自己写论文了,才知此中痛苦,特此总结经验,告诫后人。 模板 论文的模板每个学校基本都有,字体、间距、参考文献格式基本都有&#…

QQ浏览器书签栏不见了怎么办 找回QQ浏览器书签栏方法

QQ浏览器是腾讯旗下的一款高速浏览器,基于腾讯庞大的用户量,QQ浏览器也是有不少用户使用。在使用QQ浏览器时,我们注意地址栏下方书签栏的存在,书签栏给我们提供极为便利的网页收藏功能,基于它是腾讯系软件,…

MyEclipse 2015优化技巧

MyEclipse 2015优化速度方案仍然主要有这么几个方面:去除无需加载的模块、取消冗余的配置、去除不必要的检查、关闭更新。第一步: 去除不需要加载的模块 一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20…

谷歌浏览器怎么打开flash Chrome启用flash插件技巧分享

或许是由于flash多次曝出安全问题,苹果和谷歌先后对其进行限制,谷歌更是在新版Chrome浏览器中直接禁用了flash插件。而在访问某些必须使用flash插件的网站时,则需要手动开启相关的权限!那么,谷歌浏览器要怎么打开flash呢?让我们来…

MyBatis传入参数与parameterType

1. 传入简单类型 JAVA代码: Java代码 public User get(Long id) { return (User) getSqlSession().selectOne("com.liulanghan.get" , id); } MAPPER : Xml代码 <select id"findUserListByIdList" parameterType"java.lang.Long&q…

Mybatis的xml配置实例

主表&#xff1a; <?xml version"1.0" encoding"UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.1//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- 软件信息数据查询相关 yangxuefe…

火狐浏览器Firefox怎样设置中文

火狐浏览器Firefox怎样设置中文&#xff1f;很多用户从官网下载火狐浏览器后&#xff0c;会发现他默认的是英文版&#xff0c;不知道如何更改为中文版&#xff0c;下面小编就为大家介绍下Firefox设置中文方法。 如果下载的是官方版的火狐浏览器&#xff0c;默认的预言可能会是…

qq浏览器如何进入私密 qq浏览器怎样进入私密

随着移动互联网的发展&#xff0c;越来越多人使用QQ浏览器浏览新闻&#xff0c;有时想开启文件私密空间&#xff0c;那么QQ浏览器如何开启文件私密空间呢?下面让小编告诉一下详细操作步骤。 打开手机&#xff0c;找到“QQ浏览器”图标并点击它。 <a styleqq浏览器如何进入…

win7系统屏保时间设置更改教程

win7的屏保可以在我们短暂离开电脑时节省电量&#xff0c;延长屏幕存活时间&#xff0c;还可以保护屏幕信息不泄露出去&#xff0c;但是如果屏保时间设置不好可能就起不到作用&#xff0c;因此我们可以在个性化设置中对屏保时间进行手动设置&#xff0c;下面就一起来看一下win7…

Easyui+Spring+Mybatis完整示例(前台)

典型的EasyuiSpringMybatis例子,方便自己的记忆.JSP:<% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://…

win7系统管理员权限更改教程

我们在使用win7系统的时候&#xff0c;有时候会发现自己的账户因为没有管理员权限从而无法更改某些设置或者打开一些文件&#xff0c;非常不方便&#xff0c;因此我们可以通过下面的方法让自己获得管理员权限&#xff0c;下面就一起来看一下win7系统管理员权限更改教程吧。 wi…