Opencv静态库的附加库

由于opencv 2.4.6的静态库有些单个文件特别大,不能上传到服务器上,所以只能放在本地。

为了方便,需要对所有vs的工程建立opencv的include路径和lib路径。


相关的附件库有:(注意,opencv在Debug和Release模式下要分别用对应的库,混用不兼容)

vfw32.lib

comctl32.lib
opencv_core246.lib
opencv_highgui246.lib
opencv_imgproc246.lib
zlib.lib
IlmImf.lib
libjasper.lib
libjpeg.lib
libpng.lib

libtiff.lib

vfw32.lib

comctl32.lib
opencv_core246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
zlibd.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib

libtiffd.lib


在VS2010中添加对所有工程有效的目录,可以找到View->Property Manager->Microsoft.Cpp.Win32.user,双击进行修改。

不过会同时对Debug和Release都有效,相应的附加库也只能是一份,这样的话,附件库只能在每个工程link使用的时候添加了。


一些经验分享:

1. 在编译时要保证,Project properties->Configuration Properties->c/c++>Code Generation: Runtime Library is Multi-threaded (/MT)

相关的错误value '0' doesn't match value '2'


2. 类似出现the _avi* 的错误,就是没有链接到vfw32.lib


3. 比如出现的(_gzputs, _gzclose 等),说明没有链接到zlib库


4. 类似这类错误

symbol _imp_CreateToolbarEx@52 referenced in function "int __cdecl icvCreateTrackbar(char const *,char const *,int *,int,void (__cdecl*)(int),void (__cdecl*)(int,void *),void *)" (?icvCreateTrackbar@@YAHPBD0PAHHP6AXH@ZP6AXHPAX@Z3@Z)
就是漏了添加comctl32.lib库




你可能感兴趣的:(Opencv静态库的附加库)