OpenCV 独立运行静态库编译
2010-11-21 22:29
381 查看
要求写好的调用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 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 独立运行静态库编译
- vs2012 编译独立的exe运行。
- Linux 源码编译与程序运行期间静态库与动态库搜索路径
- OpenCV使用CMake和MinGW的编译安装及其在Qt配置运行
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- Mac 通过命令行编译运行C代码 以及生成和调用静态库 以及Makefile实现过程
- 使C++ Builder编译程度独立运行
- 在linux环境下编译运行OpenCV程序的两种方法
- OpenCV学习笔记(22)OpenCV_SVN静态库的编译
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 在WINDOWS中编译独立运行代码
- opencv和vs 编译生成的程序如何运行在没有安装的电脑上
- 编译时连接与运行时链接及静态库链接
- 用VS编译出不依赖VC运行库的可独立运行的程序
- 将java程序编译成独立运行的exe文件
- (一)OpenCV学习笔记——Linux下编译运行opencv程序
- 初学OpenCV3,运行编程入门上读取并播放视频的原版程序,编译通过但是没有任何输出,已按网上博主各种方法试,还是没有结果,大家看怎么解决?
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 在linux环境下编译运行OpenCV程序的两种方法 - woshijpfgg
- 简谈用g++编译运行c++代码流程,以及动态库静态库的创建与使用