使用openCV的静态库编译
转载请注明出处:
http://www.cnblogs.com/sysuzyq/p/6183568.html
By 少侠阿朱
摘要:
本文主要讲述如何使用opencv静态库进行编译,生成脱离opencv环境可执行.exe文件。
实现的效果:
此方法生成的exe文件在其他没有配置openCV环境的电脑上可直接执行。
使用到的工具:
openCV2.411
VS2013
debug模式下编译流程如下:
首先:项目的debug属性表

修改框中项目“$(OPENCV)\x86\vc12\lib;$(LibraryPath)”为静态库位置“$(OPENCV)\x86\vc12\staticlib;$(LibraryPath)”

其次:“C/C++”-“代码生成”-“运行库”改为“多线程调试 (/MTd)”,这个'd'表示debug模式。

然后:“连接器”-“输入”-“附加依赖项”中,在最开头加入:
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
zlibd.lib


最后:
重新生成解决方案。记得选择debug模式。

则编译成功。
release模式下编译流程如下:
修改release的属性表

大家发现这一项是和debug属性表共享的,已经是“staticlib”:

然后大家会发现运行库这一项也是共享的,之前设置为“MTd”,现在我们需要改为“MT”。切记这里改了,则编译的时候一定要release模式,不然出错

然后是:
“连接器”-“输入”-“附加依赖项”中,在最开头加入:
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib


最后:编译选择release模式。

编译通过。成功生成release版本的exe
使用openCV的静态库编译的更多相关文章
- C++静态库编译
MFC 选项选择: 静态库编译 增加头文件:( opencv相关的) #pragma once #ifdef WIN32 #include <opencv2/core/version.hpp&g ...
- iOS之 PJSIP静态库编译(三)
dada哪个所有静态库编译完成后还是不能运行那个demo,提示你找不到arm**.a 你lipo后要记得吧合并成.a 名字更改成你最后编译版本生成的.a名字....... 或者吧所有库add到你的工 ...
- iOS之 PJSIP静态库编译(一)
首先放上pjsip官方网站http://www.pjsip.org/download.htm 下载的时候注意while the .bz2 has LF line-ends and is for Uni ...
- SQLite3动态库、静态库编译
资源准备 1.下载SQLite3源码,下载地址为https://www.sqlite.org/download.html.下载sqlite-amalgamation-3200000.zip和sqlit ...
- QT 4.8 静态库编译方法
最最初踏上QT之路是受到了XiaomaGee的指点,相比于常规的窗口程序开发,QT有着以下特点: 1. 优良的跨平台特性(支持Win.Linux.Mac 不同的平台下只需重新编译即可使用) 2. 面向 ...
- [转]QT 4.8 静态库编译方法
最最初踏上QT之路是受到了XiaomaGee的指点,相比于常规的窗口程序开发,QT有着以下特点: 1. 优良的跨平台特性(支持Win.Linux.Mac 不同的平台下只需重新编译即可使用) 2. 面向 ...
- 【qt4.8.6】qt-everywhere-opensource-src-4.8.6静态库编译,搭建vs2010 + Qt4.8.6环境
公司的电脑上无法运行QtCreator, 又想用Qt,只能搞vs2010+Qt了, 看到运行时要链接一个几M到十几M的QtCore.dll和QtGui.dll,又有一种在用C#写的程序的感觉,很不爽, ...
- libcurl 静态库编译
转载:http://www.cnblogs.com/jkcx/p/6406706.html 1.下载最新版的libcurl(官网:http://curl.haxx.se/download.html), ...
- Qt5.9静态库编译VS2015-x64
不多说. 编译配置参数如下 configure.bat -static -no-openssl -release 不支持OpenSSL,也没有安装各个数据库的Driver,所以数据库方面也只支持了SQ ...
随机推荐
- uva 11825 Hackers' Crackdown (状压dp,子集枚举)
题目链接:uva 11825 题意: 你是一个黑客,侵入了n台计算机(每台计算机有同样的n种服务),对每台计算机,你能够选择终止一项服务,则他与其相邻的这项服务都终止.你的目标是让很多其它的服务瘫痪( ...
- django: db - many to many
本讲介绍数据库多对多关系,代码样例继前文使用. 一,在 blog/models.py 中创建对象: # Many-To-Many Example : Authors vs Books class Au ...
- [亲测有效] - Mac下屏蔽优酷广告最简单的方法
这里不和圣母婊争论该不该屏蔽广告,仅给出可行方法. Windows下的Adsafe,万能的去广告神器!可惜Mac下没有这款软件,Adblock之流在国内基本是个玩具,但是我们可以通过修改HOST文件达 ...
- Android -------- 从一个Fragment跳转到另一个Fragment
一.直接getActivity,使用activity的fragmenttransation的replace方法替换 private void changeToAnotherFragment(){ // ...
- 生成getter()、setter()方法去掉变量前缀
当定义的变量名有前缀但是不想在生成它的getter()和setter方法的时候让前缀出现,比如今天项目的部分代码: public class Crime { private UUID mId; //标 ...
- c - 对数组进行排序(通过指针的指针)
通过指针的指针,以及一个指针数组,对实际数组元素进行排序,有一个优点,就是排序过程交换的只有指针数组中的值,而不是实际的数组的元素.当实际元素中的对象很大,特别是结构体等类型时,这样做是很有好处. 下 ...
- 使用DataSet数据集删除记录
使用DataSet删除记录和使用DataSet更新记录非常的相似,DataSet删除记录的步骤如下所示. q 创建一个Connection对象. q 创建一个DataAdapter对象. q 初 ...
- 网站的优化----首页优化---app调取服务端数据
高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...
- C程序设计语言练习题1-9
练习1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() // ...
- Gradle sync failed: failed to find Build Tools revision 21.1.2
从github上下载了一个开源项目到Android Studio 出现以下问题: 下午2:56:05 Gradle sync started下午3:00:11 Gradle sync failed: ...