2012-10-11 56 views
0

可能重複:
OpenCV on ubuntu 11.10鏈接OpenCV的庫與Eclipse的Ubuntu

我有一個非常艱難的時間,試圖在Ubuntu上安裝OpenCV。我相信我已經安裝了OpenCV;不過,我正在嘗試用Eclipse編譯一個示例程序kalman.cpp,但我無法編譯它。我相信我的問題是與圖書館聯繫。

我已經看到了很多教程,我不明白爲什麼我的電腦安裝的OpenCV後,我用命令pkg-confi opencv --libs後得到以下輸出:

[email protected]:~$ sudo pkg-config opencv --libs 
/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 

每個教程那裏的庫顯示爲:

-L/where/you/have/installed/opencv/lib -lcxcore -lcv -lhighgui -lcvaux 

這真的很煩人,因爲Eclipse無法找到庫爲libopencv_contrib.so。它正在等待的東西,因爲-lopencv_contrib

我真的很感激幫助。請讓我知道我做錯了什麼。

+0

沒有必要讓你的問題得到解答。換檔鍵工作得很好,使用它可以讓你的問題更容易閱讀。謝謝。您是否通過aptitude安裝了 –

+0

?你有沒有試過''pkg-config opencv --cflags --libs''? – moooeeeep

回答

0

我從來沒有在Eclipse上使用過OpenCV。我基本上使用gcc或g ++(取決於c或C++)文件進行編譯。

的C文件,

$ gcc -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.c .c` opencvtest.c `pkg-config --libs opencv` 

爲C++文件,

$ g++ -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.cpp .cpp` opencvtest.cpp `pkg-config --libs opencv` 

欲瞭解更多信息,請參閱http://jayrambhia.wordpress.com/2012/05/08/beginning-opencv/

如果你習慣使用這個,我不認爲你會需要使用Eclipse。

希望這會有所幫助。

0

要鏈接到庫,您需要使用-L /path/to/libraries標誌指定它所在目錄的路徑。

您還需要使用-l my_library的特定庫。

通常你還需要指定所需的包括路徑中使用-I /path/to/headers


pkg-config可以作爲一個輔助做到這一點,因爲它返回你爲了使用庫所需的確切參數。

你還是用這樣的:

echo `pkg-config opencv --cflags --libs` 

RESP。

g++ my_first_opencv_app.cc `pkg-config opencv --cflags --libs` 

這在我的系統評估,以

g++ my_first_opencv_app.cc -I/usr/include/opencv -lml -lcvaux -lhighgui -lcv -lcxcore 

爲了得到它與日食工作,你可能需要指定包含路徑(/usr/local/include/opencv?),庫路徑(/usr/local/lib? )和通過項目設置中的某個GUI元素需要的庫。那麼你可能不應該需要pkgconfig