2011-03-31 13 views
10

Espero que me puedan ayudar.Cómo incluir bibliotecas de OpenCV en CMake Makefile

Tengo un simple CMakeLists.txt para construir mi proyecto en Leopard 10.5.8. estoy usando CMake 2.8.1 y en el momento este es el código:

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") 

tengo que añadir bibliotecas OpenCV en mi proyecto. Cuando uso Eclipse configuro la ruta de inclusión en/opt/local/include y la ruta de las bibliotecas a:/opt/local/lib y luego especifico el nombre de las bibliotecas como_ opencv_core, opencv_imgproc, opencv_video.

¿Puede decirme cómo agregar esta información en el archivo CMakeLists.txt, por favor?

He leído información en las preguntas frecuentes oficiales de cmake pero no he podido resolver mi problema.

Por favor, ayúdame.

Muchas gracias.

Respuesta

24

Debe agregar los nombres de la biblioteca en el comando TARGET_LINK_LIBRARIES, pero debe agregarlos sin el prefijo lib. Por ejemplo:

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

¿Es esto algún tipo de convención? ¿Dejar afuera el prefijo lib-? Soy nuevo en Linux y perdí algo de tiempo en esto. ¿Esto se aplica también a otros proyectos o es esto específico de OpenCV? – ancajic

+0

Sí, eso es una convención en Unix. – ltc

Cuestiones relacionadas