2012-04-10 334 views
6

我已經安裝了OpenCV的庫,但我仍然得到錯誤
$ G ++ -I/usr/include目錄/ OpenCV的/ -L -lcxcore -lhighgui HELLO.CPP - Ø你好
/tmp/ccjjrbXr.o:在功能main': hello.cpp:(.text+0x2d): undefined reference to cvLoadImage」
collect2:LD返回1退出狀態
OpenCV的錯誤:未定義的引用`cvLoadImage」 Ubuntu的

當我檢查,我得到
$ pkg配置庫的路徑 - 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

,如果你正在使用它

+0

對不起,我其實已經進入聯所有的庫,但犯了一個錯誤,而進入它的論壇。它仍然給出相同的錯誤: '** g ++ -I/usr/include/opencv/-L -lhighgui hello.cpp -o hello /tmp/ccw90mKu.o:在函數'main'中: hello.cpp :(。text + 0x2d):未定義引用'cvLoadImage' collect2:ld返回1退出狀態'** – user1111044 2012-04-10 21:37:57

+0

@ user1111044 - 那麼它可能找不到lib。如果你使用「-L」,你不需要指定一個目錄嗎?這可能會阻止標準的LD_LIBRARY_PATH搜索 – 2012-04-10 21:46:12

+0

是的,這是我面臨的確切問題。我沒有與-L一起使用的文件夾。 – user1111044 2012-04-10 22:43:16

11

您使用單引號'代替backquotes/backticks`這將是鏈接到highgui LIB -lhighgui一個好主意。這是校正後的指令:

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

這是我的權利。謝謝! – feelfree 2012-09-20 12:47:36

-1

嘗試克++ -g -o mypro progname.cpp pkg-config opencv --cflags --libs

+0

謝謝pritam .... – user2652000 2013-08-27 09:40:10

+1

或...什麼? ... – Jimbo 2013-08-27 09:56:39

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 

哪一個更容易顯現