opencv脱离动态库的静态链接方法 - staticlib

来源:互联网 发布:软件外包公司分录 编辑:程序博客网 时间:2024/05/20 07:33

        要给老师整理做过的算法各种脱离OPENCV库的可执行文件,就又折腾起了静态链接问题 ,现在来说说如果想要你的程序在一台裸奔的电脑上运行,需要怎么办。

        以OPENCV2.4.3+VS2010

        第一种方法是粗暴的什么都不改变然后将有可能用到的DLL都拷贝到文件夹中,这时候如需要opencv_highgui243.lib,是来自 opencv\build\x86\vc10\lib,以前使用这种方法,带需要拷贝的DLL太多,比较麻烦。

        第二种方法是采用OPENCV的静态链接库,我觉得很神奇,搜索了一下,大家都在自己编译静态链接库,但是其实OPENCV自己已经编译好了静态链接库,就在 opencv\build\x86\vc10\staticlib中,只是和LIB中的opencv_highgui243.lib等名字相同,所以如果你并没有修改过OPENCV的源代码通过以下几步快速配置静态库:

      以RELEASE为例

       (1)在Linker选项->General->Additional Library Directories选择<Edit…>,删去原来的“$(OpenCV2_4_3_Dir)\ lib”,然后在编辑框中输入“$(OpenCV2_4_3_Dir)\ staticlib”后确定(这里OpenCV2_4_3_Dir是环境变量是你安装OPENCV的路径,比如我的是D:\Study\OpenCV2.4.3\build_vc10)。

       (2)在Linker选项->Input->Additional Dependencies选择<Edit…>,然后在编辑框中输入一下内容后确定:

vfw32.lib

comctl32.lib

zlibd.lib

libjasperd.lib

libjpegd.lib

libpngd.lib

libtiffd.lib

IlmImfd.lib

opencv_core243d.lib

opencv_imgproc243d.lib

opencv_highgui243d.lib

opencv_ml243d.lib

opencv_video243d.lib

opencv_features2d243d.lib

opencv_calib3d243d.lib

opencv_objdetect243d.lib

opencv_contrib243d.lib

opencv_legacy243d.lib

opencv_flann243d.lib

       (3)项目属性面板下-C/C++ /代码生成-/若是RELEASE选择MT,若是DEBUG选择MTD,然后编译生成即可。

0 0
原创粉丝点击