2012-12-16 13 views
8

Ubuntu 12.04'te düzgün bağlantı kurmak için openCV almaktan ötürü çok uzun zaman harcadım ve başkalarının yararı için öğrendiklerimi paylaşacağımı düşündüm. OpenCV bu sürümü kütüphaneleri için farklı bir adlandırma kuralı vardır (yanılıyorsam beni düzeltin lütfen)Ubuntu'da OpenCV'yi Derlemek ve Bağlamak 12.04

OpenCV büyük

sudo apt-get install libopencv-dev 

olarak Ubuntu depolarından artık kullanılabilir, ama ben inanıyorum . Temel fark C++ çizgi nesne derleme ancak bağlama değil kodunuzu alacak

#include "opencv2/opencv.hpp" 

okumalısınız dahil olmasıdır. Diğer bir fark, statik kitaplıkların ayrıca libcv *'dan libopencv *'a yeniden adlandırılmış olmasıdır. Örneğin ikili değerleri artık açıkça

target_link_libraries(main opencv_core opencv_highgui ...) 
CMake

g++ main.cpp -lopencv_core -lopencv_highgui ... 

için Veya benim derleyici komutu değiştirerek yeni kütüphane adları hakkında bağlayıcı anlatmak için gerekli Bunu düzeltmek için

/usr/lib/libopencv_core.so 
/usr/lib/libopencv_highgui.so 
. 
. 
. 

yer olabilir

Umarım bu yardımcı olur. Ve eğer benden daha fazlasını bilen varsa, burada neler olduğunu öğrenmek isterim.

-Mike

+0

Eğer Ubuntu üzerinde tutulma aynı nasıl anlarım? Ubuntu 12.04'te Eclipse 3.7 kullanıyorum. – wrahool

cevap

5

Şahsen, derleme bayrakları almak için 'pkg-config' kullanıyorum. Ana ait

g++ `pkg-config --cflags opencv` main.c `pkg-config --libs opencv` -o main 

Örnek:

#include <stdio.h> 
#include <cv.h> 

int main(void) 
{ 
    printf("%s\r\n", CV_VERSION); 
    printf("%u.%u.%u\r\n", CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION); 
}