制作静态链接库,在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

更新时间:2023-05-29 10:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

制作静态链接库,在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

环境:win7+vs2008+opencv2.3.1+cmake2.8.4

一. 生成vs的解决方案文件

1. 安装opencv2.3.1,我安装的文件夹是C:\New\Opencv

2. 下载cmake,直接百度下载即可,并安装,位置随意。

3. 打开cmake, 填入源代码目录C:\New\Opencv及生成目录,这个生成目录随便建个文件夹就行,如E:\build

4. 因为是要生成opencv的静态库,去掉一些无关的选项. 去掉BUILD_NEW_PYTHON_SUPPORT,BUILD_SHARED_LIBS,BUILD_TESTS,勾选OPENCV_BUILD_3RDPARTY_LIBS,WITH_TBB,WITH_JASPER, WITH_JPEG, WITH_PNG, WITH_TIFF选项,然后点击configure。提示TBB_INCLUDE_DIR找不到,忽略即可,直接点击configure,配置完成,点击generate,完成后关闭cmake。

二. 编译opencv

1. 用vs2008打开opencv.sln,这个文件在E:\build

2. 去掉一些工程。我是只剩下如下的几个工程,

制作静态链接库,在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

还可以去掉里面的一些,但这样就可以了。

确认一下剩余的工程生成文件是否都为静态库。

3. 在解决方案管理器中选工程, 右键选属性->配置属性->c/c++->代码生成->运行时库,选择Multi-threaded Debug (/MTd), Release模式下选择Multi-threaded (/MT)。这一项好像是默认的,其实完全可以不设置。

4. 然后点击生成,重新生成解决方案,至此,lib文件就做好了。

三. 链接刚才生成的静态库

在自己需要发布的工程中,选择工具->选项,项目和解决方案->VC++目录,平台选择win32,显示以下内容的目录选择库文件,添加上两个文件夹,我添加的是E:\build\lib\Debug和E:\build\3rdparty\lib\Debug。如下:

制作静态链接库,在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

然后在自己的工程的头文件中添加上自己需要的库文件,我是在stdafx.h中添加的,添加了如下几个,他们在文件夹E:\build\lib\Debug中,根据需要,也可以添加别的.lib文件 #pragma comment (lib,"opencv_core231d.lib")

#pragma comment (lib,"opencv_highgui231d.lib")

#pragma comment (lib,"opencv_imgproc231d.lib")

此外,要添加上第三方的几个库文件,这个在E:\build\3rdparty\lib\Debug中,其实opencv2.3.1在解压缩之后没有这几个文件,添加上这几个,是很重要的一步。

#pragma comment(lib, "libjasperd.lib")

#pragma comment(lib, "libjpegd.lib")

#pragma comment(lib, "libpngd.lib")

#pragma comment(lib, "libtiffd.lib")

#pragma comment(lib, "zlibd.lib")

因为我们的程序是win32程序的问题,我们还需要添加vfw32.lib和comctl32.lib这两个依赖库文件。(其实不加好像也没问题)

#pragma comment (lib,"vfw32.lib")

#pragma comment(lib, "comctl32.lib" )

其实,也完全可以通过右击工程,属性->配置属性->链接器->输入选项中的附加依赖项把上述的几个文件添加进来。如下图:

制作静态链接库,在VS2008中让程序在没有安装opencv2.3.1的电脑中运行

至此,生成的解决方案就能够在没有安装opencv的电脑上运行了。 以上只是debug的情况,release的还不太清楚。

附参考的网址:

/jimmywood1987/item/76416b371e836825b2c0c5a7

/Linux/2012-08/68301p2.htm

本文来源:https://www.bwwdw.com/article/2rp4.html

Top