OpenCV 独立运行静态库编译
来源:互联网 发布:p2p风控程序员 编辑:程序博客网 时间:2024/05/21 10:21
要求写好的调用OpenCV库的程序能够在没有安装OpenCV的机器上运行,这里做了测试
OpenCV 1.0, VS2005
打开OpenCV/_make下opencv.sln,
VS2005中生成,配置管理器中活动解决方案配置选择Release
将cv,cvaux,cxcore,highgui,ml项目属性中的常规选项,配置类型设置为静态库,并将输出目录设定好,最后生成的lib文件都会在这个文件夹中.字符集可能也需要设定,我设置成未设置,与我以后使用OpenCV的项目相同.
在cvaux项目中的cvaux.h文件中的1137行,后面的注释有个?/改成*/
将highgui项目属性,C/C++,预处理器,预处理器定义中的HAVE_PNG删掉,如果不删掉就需要静态png库,不过那个库好像有问题
重新生成解决方案后会得到cxcore.lib,highgui.lib,ml.lib,cv.lib,cvaux.lib
同样的打开D:/OpenCV/otherlibs/_graphics/src下的graphic_libs.sln,配置管理器设置为release,然后把每个项目的输出目录设置好,确认配置类型是静态库,
同时还需要设置项目属性,管理员,常规中的输出文件,改为$(OutDir)/$(ProjectName).lib即可
同样的重新生成解决方案以后就可以了
可能还需要一个libjasper.lib,这个我是从网上下了CxImage中找出来了生成了libjasper.lib
然后是简单的程序测试:
在工具,选项,项目和解决方案,VC++目录中包含文件按照opencv的配置加入相关的头文件目录
加入刚才生成的lib文件
#pragma comment(lib, "OpenCV_lib/cxcore.lib")
#pragma comment(lib, "OpenCV_lib/cv.lib")
#pragma comment(lib, "OpenCV_lib/libjpeg.lib")
//#pragma comment(lib, "libpng.lib")
#pragma comment(lib, "OpenCV_lib/libtiff.lib")
#pragma comment(lib, "OpenCV_lib/libjasper.lib")
#pragma comment(lib, "OpenCV_lib/highgui.lib")
#pragma comment(lib, "OpenCV_lib/ml.lib")
#pragma comment(lib, "OpenCV_lib/cvaux.lib")
如果是win32的程序可能还需要加入
#pragma comment(lib, "vfw32.lib ")
#pragma comment (lib , "comctl32.lib")
根据需要可能还需要忽略libcmt库
编出来的程序可以放到其他电脑上试试 :)
- OpenCV 独立运行静态库编译
- OpenCV 独立运行静态库编译
- Opencv 编译静态库
- OpenCV - 编译静态OpenCV库(静态库)
- OpenCV - 编译静态OpenCV库(静态库)
- xe4 编译 独立运行
- OpenCV编译为静态库
- QT(MinGW)静态库+Opencv静态编译
- Cygwin编译可执行文件独立运行
- OpenCV编译为静态库的补充
- OpenCV编译为静态库的补充
- 交叉编译OpenCV为静态库
- opencv程序用静态库编译不成功
- opencv静态编译
- 静态编译opencv
- opencv静态编译
- opencv静态编译
- 静态编译opencv
- android 如何单独下载一个项目
- jQuery.trim(str)
- OPENCV脱离库的静态链接方法
- Qt5 for android + opencv
- 全栈JavaScript之路(三) 理解、学习 DOM Core
- OpenCV 独立运行静态库编译
- REDIS与MEMCACHED、mongoDB 的区别 对比
- mysql命令行导入
- leetCode: Climbing Stairs
- 数据库事务隔离级别与锁 悲观锁 乐观锁
- Java关键字transient和volatile
- cocoa设计模式之观察者模式
- Points on C 开启C语言学习之路
- ios网络学习------4 UIWebView的加载本地数据的三种方式