openCV 243 using static libs error LNK2019

c++, opencv, static-linking

Solution

You need to link with MS `vfw32.lib` library.

Problem

I'm trying to use openCV243 static libs in 64bit vs10 console application. My OS is win7 64 bit. I've included following libs: ``` #pragma comment(lib,"../final_test/libs/staticlib/opencv_core243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_highgui243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_imgproc243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_video243d.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_flann243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_features2d243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_objdetect243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_core243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_calib3d243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_legacy243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_features2d243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_ml243.lib") #pragma comment(lib,"../final_test/libs/staticlib/libjpeg.lib") #pragma comment(lib,"../final_test/libs/staticlib/libpng.lib") #pragma comment(lib,"../final_test/libs/staticlib/libtiff.lib") #pragma comment(lib,"../final_test/libs/staticlib/libjasper.lib") #pragma comment(lib,"../final_test/libs/staticlib/zlib.lib") #pragma comment(lib,"../final_test/libs/staticlib/IlmImf.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_videostab243") #pragma comment(lib,"../final_test/libs/staticlib/opencv_contrib243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_nonfree243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_photo243.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_stitching243.lib") #pragma comment(lib,"../final_test/libs/staticlib/IlmImf.lib") #pragma comment(lib,"../final_test/libs/staticlib/opencv_ts243.lib") ``` The runtime library is: Multi-threaded (/MT) I get following linking errors. ``` 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIFileInit referenced in function "void __cdecl icvInitCapture_VFW(void)" (?icvInitCapture_VFW@@YAXXZ) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIStreamGetFrameOpen referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::open(char const *)" (?open@CvCaptureAVI_VFW@@UEAA_NPEBD@Z) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIStreamInfoA referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::open(char const *)" (?open@CvCaptureAVI_VFW@@UEAA_NPEBD@Z) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIFileGetStream referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::open(char const *)" (?open@CvCaptureAVI_VFW@@UEAA_NPEBD@Z) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIFileOpenA referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::open(char const *)" (?open@CvCaptureAVI_VFW@@UEAA_NPEBD@Z) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIStreamGetFrame referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::grabFrame(void)" (?grabFrame@CvCaptureAVI_VFW@@UEAA_NXZ) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol ICClose referenced in function "protected: void __cdecl CvCaptureCAM_VFW::closeHIC(void)" (?closeHIC@CvCaptureCAM_VFW@@IEAAXXZ) 1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol ICSendMessage referenced in function "protected: void __cdecl CvCaptureCAM_VFW::closeHIC(void)" (?closeHIC@CvCaptureCAM_VFW@@IEAAXXZ) ``` ... can anyone help me to rid of this problem? Thank you.

Original source

Related problems