2012-04-10 13 views
6

मैं openCV पुस्तकालयों स्थापित किया है लेकिन मैं अभी भी त्रुटि हो रही है करने के लिए अपरिभाषित संदर्भ
$ जी ++ मैं/usr/शामिल/opencv/एल -lcxcore -lhighgui hello.cpp - ओ हैलो
/tmp/ccjjrbXr.o: समारोह में main': hello.cpp:(.text+0x2d): undefined reference to cvLoadImage '
collect2: ld जब मैं पुस्तकालयों मैं
$ pkg-config पाने के रास्ते के लिए जाँच 1 से बाहर निकलें स्थिति
openCV त्रुटि: `cvLoadImage 'उबंटू

लौटे - libs opencv
-lml -lcv aux -lhighgui -lcv -lcxcore

मैं इसे परीक्षण करने के लिए एक बहुत ही सरल कार्यक्रम में लिखा है:

enter code here 

#include< cv.h> 
#include< highgui.h> /* required to use OpenCV's highgui */ 
#include< stdio.h> 

int main() { 
    IplImage* img = 0; 
    printf("Hello\n"); 
    img = cvLoadImage("lena.jpg", 0); 
} 

वहाँ कुछ मेरी स्थापना के साथ गलत है, लेकिन मैं वास्तव में यह पता लगाने में सक्षम नहीं हूँ। किसी भी मार्गदर्शन की अत्यधिक सराहना की जाएगी! धन्यवाद


जब मैं चलाएँ:

$ pkg-config --cflags --libs opencv 
-I/usr/local/include/opencv -I/usr/local/include 
/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so 
/usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so 
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so 
/usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so 
/usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so 
/usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so 
/usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so 
/usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so 
/usr/local/lib/libopencv_videostab.so 

लेकिन जब मैं चलाएँ:

$ g++ 'pkg-config --cflags --libs opencv' display_image.cpp 
g++: error: pkg-config --cflags --libs opencv: No such file or directory 

OpenCV स्थापित होने के लिए, लेकिन अभी भी समस्या बनी रहती है।

उत्तर

0

यह एक अच्छा विचार -lhighgui lib highgui से जोड़ने के लिए हो सकता है अगर आप इसे

+0

क्षमा करें, मैं वास्तव में सभी libs जुड़ा हुआ में प्रवेश किया है, लेकिन एक गलती की थी, जबकि यह में प्रवेश मंच। यह अभी भी वही त्रुटि देता है: '** g ++ -I/usr/include/opencv/-L -lhighgui hello.cpp -o हैलो /tmp/ccw90mKu.o: फ़ंक्शन' मुख्य 'में: hello.cpp :(। पाठ + 0x2d): 'cvLoadImage 'के लिए अनिर्धारित संदर्भ संग्रह 2: ld 1 निकास स्थिति' ** – user1111044

+0

@ user1111044 लौटा - तो शायद यह lib नहीं मिल सकता है। यदि आप "-L" का उपयोग करते हैं तो क्या आपको निर्देशिका निर्दिष्ट नहीं करना है?यह मानक LD_LIBRARY_PATH खोज को अवरुद्ध कर सकता है –

+0

हाँ, यह सही समस्या है जिसका सामना कर रहा हूं। मेरे पास -एल के साथ उपयोग करने के लिए एक फ़ोल्डर नहीं है। – user1111044

11

उपयोग कर रहे हैं आप एकल उद्धरण backquotes/backticks` के बजाय ' इस्तेमाल किया जाएगा। यह ठीक किया आदेश है:

g++ hello.cpp -o hello `pkg-config --cflags --libs opencv` 
+1

यह मेरे लिए सही है। धन्यवाद! – feelfree

-1

कोशिश जी ++ जी -ओ mypro progname.cpp pkg-config opencv --cflags --libs या

+0

धन्यवाद प्रीतम .... – user2652000

+1

या ... क्या? ... – Jimbo

0

इस आदेश:

g++ `pkg-config --cflags --libs opencv` display_image.cpp 
:

g++ 'pkg-config --cflags --libs opencv' display_image.cpp 

इस से अलग है

`और 'वर्णों के कारण ...

अगर आप उन वर्ण के साथ गड़बड़ करने के लिए चाहते हैं, तो आप

g++ $(pkg-config --cflags --libs opencv) display_image.cpp 

जो आसान है उपयोग कर सकते हैं कल्पना करने के लिए