2012-11-20 22 views
7

मैं 64 बिट बनाम कंसोल एप्लिकेशन में openCV243 स्थैतिक libs का उपयोग करने का प्रयास कर रहा हूं। मेरा ओएस win7 64 बिट है।स्थिर libs त्रुटि का उपयोग कर openCV 243 LNK2019

मैंने शामिल किया है निम्नलिखित 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") 

क्रम पुस्तकालय है: बहु पिरोया (/ एमटी)

मैं जोड़ने त्रुटियों निम्नलिखित मिलता है।

1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIFileInit referenced in function "void __cdecl icvInitCapture_VFW(void)" ([email protected]@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 *)" ([email protected][email protected]@UEAA_NPEBD[email protected]) 
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 *)" ([email protected][email protected]@[email protected]) 
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 *)" ([email protected][email protected]@[email protected]) 
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 *)" ([email protected][email protected]@[email protected]) 
1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol AVIStreamGetFrame referenced in function "public: virtual bool __cdecl CvCaptureAVI_VFW::grabFrame(void)" ([email protected][email protected]@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)" ([email protected][email protected]@IEAAXXZ) 
1>opencv_highgui243.lib(cap_vfw.obj) : error LNK2019: unresolved external symbol ICSendMessage referenced in function "protected: void __cdecl CvCaptureCAM_VFW::closeHIC(void)" ([email protected][email protected]@IEAAXXZ) 

...

किसी को भी मेरी मदद कर सकते इस समस्या से छुटकारा के लिए? धन्यवाद।

+0

क्या यह संकलित करता है जब आप "highgui" lib शामिल नहीं करते हैं? – Niko

+0

यह भी मदद कर सकता है: http://stackoverflow.com/questions/849238/how-can-i-resolve-error-lnk2019-unresolved-external-symbol – Niko

+0

आपकी टिप्पणियों के लिए धन्यवाद। दुर्भाग्यवश, बिना हाईगुई परियोजना संकलित नहीं होती है। – user1043413

उत्तर

13

आपको एमएस vfw32.lib लाइब्रेरी से लिंक करने की आवश्यकता है।

+2

भी comctl32.lib की आवश्यकता है –

+0

क्या यह किया जा सकता है इस पर मुझे और सहायता मिल सकती है? –

+0

@ChaiNadig या तो furqan द्वारा उत्तर में, या वीसी ++ 2010 एक्सप्रेस में: परियोजना गुण (Alt-F7) -> कॉन्फ़िगरेशन गुण -> लिंकर -> इनपुट; अतिरिक्त निर्भरता के मूल्य पर ड्रॉप-डाउन मेनू पर क्लिक करें, < संपादित करें ... >, ऊपर लाइब्रेरी फ़ाइलों की एक सूची पेस्ट करें। आपके पास अलग-अलग लाइनों पर vfw32.lib और comctl32.lib होगा, और% OPENCV_DIR% \ build \ x86 \ vc10 \ staticlib से libs भी। – sastanin

5

बस इसे अपने हेडर फ़ाइल में करें। यह पूरी तरह से काम करना चाहिए।

#include "opencv2/opencv.hpp" 
#pragma comment(lib, "vfw32.lib") 
#pragma comment(lib, "comctl32.lib") 
+0

क्या यह 64 बिट के लिए भी काम करेगा? – tzippy

+0

हां, क्यों नहीं, यह काम करना चाहिए। – furqan

+0

तो कोई 64 बिट संस्करण नहीं है बल्कि मुझे लिंक करना चाहिए? या ये सिस्टम मेरे सिस्टम 32 फ़ोल्डर में स्वचालित रूप से 64 बिट हैं? मैं 64 बिट विंडोज 7 चला रहा हूं। मेरी समस्या यह है कि जब से मैंने 64 बिट में संकलित किया, तो 'सीवी: वीडियोकैप्चर :: रीडमैट (सीवी_ओयूटी मैट एंड इमेज)' एक खाली 'सीवी :: मैट' – tzippy