2013-07-21 11 views
7

यह दृश्य स्टूडियो सी ++LNK2019: दृश्य स्टूडियो में अनसुलझे बाह्य प्रतीक त्रुटि सी ++

#include "stdafx.h" 
#include<opencv\cv.h> 
#include<opencv\highgui.h> 

using namespace cv; 

int main(int argc, char** argv[]) { 
    IplImage* img = cvLoadImage("logo.jpg"); 
    cvNamedWindow("Test", CV_WINDOW_AUTOSIZE); 
    cvShowImage("Test", img); 
    cvWaitKey(0); 
    cvReleaseImage(&img); 
    cvDestroyWindow("Test"); 
    return 0; 
} 

मैं OpenCV 2.4.6 और विजुअल स्टूडियो 2010 का उपयोग कर रहा में अपने कोड है यह त्रुटि है:

openCV_testing.obj : error LNK2019: unresolved external symbol _cvDestroyWindow 
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvReleaseImage  
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvWaitKey referenced in 
function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvShowImage referenced 
in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvNamedWindow  
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvLoadImage referenced 
in function _main 

कृपया मदद करें।

+0

यह जांचें http://stackoverflow.com/a/11783731/624003 – Sankumarsingh

उत्तर

13

'अनसुलझा बाहरी प्रतीक' का अर्थ है कि आप आवश्यक पुस्तकालय से लिंक नहीं कर रहे हैं। गुणों पर जाएं-> लिंकर-> अतिरिक्त लाइब्रेरी निर्भरताएं और opencv libs के लिए पथ जोड़ें।

0

मैंने एक ही समस्या के लिए बहुत कुछ खोजा, यह मुझे मिला सबसे अच्छा समाधान था और यह मेरे लिए काम करता था।

ओपन विन्यास गुण> C/C++> सामान्य, और क्षेत्र अतिरिक्त इन 3 पथ (हेडर के लिए) जोड़ने के लिए निर्देशिकाएँ शामिल करें संपादित:

C: \ OpenCV2.3 \ निर्माण \ शामिल \ opencv

C: \ OpenCV2.3 \ निर्माण \ शामिल \ opencv2

C: \ OpenCV2.3 \ निर्माण \ शामिल

8

पहले जांच कर लें How to build applications with OpenCV inside the Microsoft Visual Studio

यदि आप अभी भी एक ही समस्या से पीड़ित हैं, तो आप नीचे दिए गए मामलों में से एक के अधीन हो सकते हैं।

  1. आपका सक्रिय समाधान प्लेटफ़ॉर्म x86 है लेकिन आप x64 ओपनसीवी पुस्तकालयों को लिंक करने का प्रयास कर रहे हैं।
  2. आपका सक्रिय समाधान प्लेटफ़ॉर्म X64 है लेकिन आप x86 ओपनसीवी पुस्तकालयों को लिंक करने का प्रयास कर रहे हैं।

आप इन मामलों में से एक कम है, तो जाँच Compiling a 64-bit Application in Microsoft Visual Studio Express 2010

+0

यह मेरे साथ हुआ, THX! –

5

अपने कोड में इन करें:

#pragma comment (lib, "opencv_core248d.lib") 
#pragma comment (lib, "opencv_highgui248d.lib") 
#pragma comment (lib, "opencv_imgproc248d.lib") 
#pragma comment (lib, "opencv_video248d.lib") 
#pragma comment (lib, "opencv_features2d248d.lib") 

यह मेरे लिए काम किया।

+0

उसने ऐसा किया ... लेकिन क्यों? संपादित करें: यह सहायता इसे समझाती है: http://stackoverflow.com/questions/3484434/what-does-pragma-comment-mean – shim

संबंधित मुद्दे