2011-03-31 31 views
10

'da OpenCV kitaplıkları nasıl eklenir? Umarım bana yardımcı olabilirsiniz.CMake Makefile

Leopard 10.5.8'deki projemi oluşturmak için basit bir CMakeLists.txt dosyası kullanıyorum. ben CMake 2.8.1 kullanıyorum ve şu anda bu kodu şöyledir:

cmake_minimum_required(VERSION 2.8) 
MESSAGE(STATUS "./src: Going into utils folder") 
ADD_SUBDIRECTORY(utils) 
MESSAGE(STATUS "./src: utils folder processed") 

include_directories(${DIR}/headers) 
link_directories (${DIR}/src/utils) 

ADD_EXECUTABLE(sample sample.cpp) 
TARGET_LINK_LIBRARIES(sample libSample ${EXTERNAL_LIBS}) 
INSTALL(TARGETS sample DESTINATION "./src") 
MESSAGE(STATUS "./src: exiting src folder") 

Projemde OpenCV kitaplıkları eklemeniz gerekir. Eclipse kullandığımda/opt/local/include/ içerme yolunu ve kütüphaneler yolunu:/opt/local/lib olarak ayarladım ve sonra_ opencv_core, opencv_imgproc, opencv_video gibi kitaplık adlarını belirtiyorum.

Bu bilgileri CMakeLists.txt dosyasına nasıl ekleyebileceğinizi söyler misiniz, lütfen?

Resmi cmake SSS'de bazı bilgileri okudum ama sorunumu çözemedim.

Lütfen bana yardım edin.

Çok teşekkürler.

cevap

24

Kütüphane adlarını TARGET_LINK_LIBRARIES komutuna eklemeniz gerekir, ancak lib öneki olmadan bunları eklemeniz gerekir. Örneğin:

include_directories(${DIR}/headers /opt/local/include) 
link_directories (${DIR}/src/utils /opt/local/lib) 

ADD_EXECUTABLE(sample sample.cpp) 
TARGET_LINK_LIBRARIES(sample opencv_core opencv_imgproc opencv_video ${EXTERNAL_LIBS}) 
+0

Bu bir çeşit kural mı? Lib önekini dışarıda bırakmak mı? Ben linux için yeni ve bu konuda biraz zaman kaybettim. Bu, diğer projelerde de geçerlidir, yoksa OpenCV'ye özgüdür? – ancajic

+0

Evet, Unix konulu bir toplantıdır. – ltc