linux opencv编译静态库,使用openCV的静态库编译

转载请注明出处:

By 少侠阿朱

摘要:

本文主要讲述如何使用opencv静态库进行编译,生成脱离opencv环境可执行.exe文件。

实现的效果:

此方法生成的exe文件在其他没有配置openCV环境的电脑上可直接执行。

使用到的工具:

openCV2.411

VS2013

debug模式下编译流程如下:

首先:项目的debug属性表

linux opencv编译静态库,使用openCV的静态库编译_第1张图片

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

linux opencv编译静态库,使用openCV的静态库编译_第2张图片

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

linux opencv编译静态库,使用openCV的静态库编译_第3张图片

然后:“连接器”-“输入”-“附加依赖项”中,在最开头加入:

IlmImfd.lib

libjasperd.lib

libjpegd.lib

libpngd.lib

libtiffd.lib

zlibd.lib

linux opencv编译静态库,使用openCV的静态库编译_第4张图片

linux opencv编译静态库,使用openCV的静态库编译_第5张图片

最后:

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

linux opencv编译静态库,使用openCV的静态库编译_第6张图片

则编译成功。

release模式下编译流程如下:

修改release的属性表

linux opencv编译静态库,使用openCV的静态库编译_第7张图片

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

linux opencv编译静态库,使用openCV的静态库编译_第8张图片

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

linux opencv编译静态库,使用openCV的静态库编译_第9张图片

然后是:

“连接器”-“输入”-“附加依赖项”中,在最开头加入:

IlmImf.lib

libjasper.lib

libjpeg.lib

libpng.lib

libtiff.lib

zlib.lib

注意这里和debug模式的不同,所有库都是没有'd'结尾的。

linux opencv编译静态库,使用openCV的静态库编译_第10张图片

linux opencv编译静态库,使用openCV的静态库编译_第11张图片

最后:编译选择release模式。

linux opencv编译静态库,使用openCV的静态库编译_第12张图片

编译通过。成功生成release版本的exe

C++静态库编译

MFC 选项选择: 静态库编译 增加头文件:( opencv相关的) #pragma once #ifdef WIN32 #include

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. 面向 ...

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 ...

随机推荐

JSON.stringify的使用方法

语法: JSON.stringify(value [, replacer] [, space]) value:是必须要的字段.就是你输入的对象,比如数组啊,类啊等等. replacer:这个是可选的. ...

C#——Dictionary<;TKey, TValue>; 计算向量的余弦值

说明:三角函数的余弦值Cos我想,每个学计算机的理工人都知道,但是真的明白它的用途,我也是刚明白.每个人在初中或者高中的时候,都有这么个疑惑,学三角函数干什么用的?很直白的答案就是考试用的.而且当时的 ...

mysql 的设置

网上的一些文章都已经比较老了,现在版本高了之后,其实配置是很省力的(不考虑什么负载的话) 分享全过程,出了文中提到的安装epel rpmfushion 源指令不同外,其他的过程也适用与Centos 5 ...

Cortana 在安装语言包后失灵 | 解决

http://windows.microsoft.com/zh-cn/windows-10/cortanas-regions-and-languages 适用于 Windows 10 Currentl ...

Visual Studio个人常用快捷键

Ctrl+F5:运行程序 F9:设置/取消断点 F5:启动调试 F10:逐过程单步调试 F11:逐语句单步调试 按住Ctrl先按K再按D:格式化全部代码 按住Ctrl先按K再按F:将选中代码块格式化 ...

WPF多窗口传参解决方案

在WPF中,我们的常常涉及到多个窗口之间传递参数的问题,那么该怎么传呢? 答:在窗口的构造函数中添加想要传递的参数.(我表达不好,请看下面代码.) 在主窗口中单机button打开一个新的子窗口. // ...

dotnetbar 的BalloonTip的用法

‘设置提示标题 tip.SetBalloonCaption(txt_ID, "提示") ’设置显示的控件 和显示内容文本 tip.SetBalloonText(txt_ID, &q ...

Swift2.2 看完这篇博客 你不想懂也会懂得----二叉树

一:初衷 我自己也好奇,为什么莫名其妙的想起写这个,其实数据里面包含的结构和逻辑我自己觉得才是最原始经典的,最近也在学swift,就向着利用swift整理一些二叉树.自己刚开始的时候也是用OC看着别的 ...

ubuntu fiddler firefox http网页不能访问 Secure Connection Failed

1. 给firefox导入fiddler的证书 1) fiddler:tools --> fiddler opthins --> https --> 勾选Capture HTTPS ...

nginx+apache动静分离/负载均衡

[主从] [Mysql-Master] log-bin=mysql-bin server-id = MariaDB [(none)]> grant replication slave on *. ...

你可能感兴趣的:(linux,opencv编译静态库)