opencv多个static_lib文件合并成一个lib文件的方法

我们利用OpenCV编程的时候一般需要关联多个lib文件,如果发布程序,不仅需要发布我们自己生成的lib,还需要将这些lib一起带过去。那么有没有一种可以将这么多lib文件一起打包在一起的方法呢?
比如我的程序用到了这三个lib
#pragma comment( lib, "opencv_core246d.lib" )
#pragma comment( lib, "opencv_highgui246d.lib" )
#pragma comment( lib, "opencv_imgproc246d.lib" )
我想合并为一个opencv.lib。

这里我们将利用lib.exe完成这个任务:
我的VS编程环境是vs2010,安装文件夹在C:\Program Files\Microsoft Visual Studio 10.0,如果你的版本不是2010请换成其他路径。
1. 在C:\Program Files\Microsoft Visual Studio 10.0\VC\bin  的文件夹中找到lib.exe,双击运行。
哎?缺少dll?没关系,将缺少的mspdb100.dll,mspdbcore.dll,mspdbsrv.exe,msobj100.dll 这四个文件从C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE这个文件夹中拷贝粘贴到刚才的bin文件夹中。现在点击运行lib.exe 就已经不报错了。

2. WIN+R快捷键打开“运行”,或者开始->运行,输入cmd打开命令行程序。我们需要利用cd命令进入到 C:\Program Files\Microsoft Visual Studio 10.0\VC\bin  这个文件夹中去,在输入cd C:\Program Files\Microsoft Visual Studio 10.0\VC\bin (如果怕输错的话也可以cd一级一级的进入,比如先cd C:\Program Files 然后 cd Microsoft Visual Studio 10.0)。

3. 将我们需要合并的几个lib文件拷贝到这个bin文件夹中,为了方便起见,我把他们重命名为lib1.lib lib2.lib lib3.lib。

4. 在命令行中输入 lib.exe /out:opencv.lib lib1.lib lib2.lib lib3.lib 如果有想要添加的其他lib都可以添到后面,用空格隔开。

5. 点击回车,如果你拷贝的lib中有函数是重复定义的(是同样的函数,而不是重载),那么lib.exe会报warning。当时我用了两个一样的lib进行测试,不停的报错,差点把命令行程序关掉了,呵呵呵。

6. 运行结束在后,在bin文件夹中,当当当当!opencv.lib文件出现了!

大功告成!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值