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

        要给老师整理做过的算法各种脱离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,然后编译生成即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值