2010-06-26 17 views
8

Tengo ubuntu 10 instalado. Instalé todos los paquetes de OpenCV que pude encontrar en el centro de software. Espero que instale algunos archivos .lib en algún lugar al que pueda hacer referencia en mi proyecto, pero no los puedo encontrar. ¿Dónde los pone?Donde instala Opencv sus libs en ubuntu

Quiero usar eclipse como la programación ide en C++, pero estoy teniendo problemas para descubrir cómo configurarlo inicialmente. Soy nuevo en la programación de eclipse y ubuntu en general, así que si alguien tiene una guía paso a paso, me encantaría verla.

+0

Hmm ... la última vez que revisé "10" no era una versión de envío de Ubuntu ... –

+0

Si ayuda a aclarar la pregunta, en realidad tengo instalado Ubuntu 10.04. –

+0

también estaba atrapado en el mismo problema en ubuntu 1104. había guardado mi sol en http://ikharn.blogspot.com/2011_09_01_archive.html – Netro

Respuesta

13

Puede encontrar las banderas de enlace adecuadas usando pkg-config --libs opencv y las apropiadas incluyen el uso de pkg-config --cflags opencv.

Las bibliotecas reales deben instalarse en/usr/lib y tener nombres como libhighgui.a o libhighgui.so, pero es probable que no tenga que hacer referencia directamente a ellas. Simplemente use la salida de los comandos anteriores en el lugar correcto en Eclipse para establecer indicadores de enlace e incluir directorios. Si realmente quiere saber qué libs están relacionadas con OpenCV, la salida de pkg-config --libs opencv le dará los nombres. Por ejemplo, una de las salidas de ese comando es -lhighgui, por lo que sabemos que debe haber un archivo llamado libhighgui.so en/usr/lib.

No he usado Eclipse desde hace tiempo para C o C++, así que no puedo recordar dónde están esas opciones, pero están en algún lado.

+0

bien, eso explica por qué no pude encontrarlos. Esperaba encontrar archivos .lib reales, es decir, un archivo como opencv.lib. ¿Los archivos lib * .so en Ubuntu son lo mismo que los archivos .lib en Windows? –

+0

@Mr Bell: no soy 100% de lo que es exactamente un archivo .lib en Windows, por lo que realmente no puedo responder eso. Sin embargo, en Linux, una lib * .so corresponde a una biblioteca compartida, mientras que una lib * .a corresponde a una biblioteca estática. Espero que ayude. –

+0

El paquete opencv no se encontró en la ruta de búsqueda pkg-config. Quizás debería agregar el directorio que contiene 'opencv.pc ' a la variable de entorno PKG_CONFIG_PATH No se encontró ningún paquete' opencv ' – waspinator

1

dpkg -L opencv le dará una lista de todos los archivos instalados desde el paquete opencv. Tenga en cuenta, sin embargo, que no mostrará los archivos que no están en el paquete en sí, sino que se generarán cuando se instale el paquete. No estoy familiarizado con opencv, no sé si esto será un problema para usted.

4

Según lo indicado por Eric

pkg-config --libs opencv 

volverá libs que se incluirán y si se trata de la incluyen rutas de archivos

es /usr/include/opencv y si desea que se añade automáticamente sólo tiene que añadir siguiente para comando junto con el comando de Eric --cflags al comando anterior.

Por ejemplo. deje que el archivo para ser compilado sea test.c, entonces el comando completo será

g++ test.c `pkg-config --libs --cflags opencv` 

Espero que ayude.

+1

Esta es una respuesta sensata. Para agregar a esto, sugeriría usar 'g ++' en lugar de 'gcc'. Esto se vinculará automáticamente con stdC++, en caso de que se genere un error de vinculación en tiempo de compilación. –

+0

Hola, utilicé el tutorial oficial de opencv.org pero no puedo completar la instalación. Hice lo que se dice [aquí] (http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation) pero cuando trato de agregar la ruta, simplemente puedo ' lo encuentra No hay nada en la carpeta include de mi ubuntu 14.04.1 ¿Puedes ayudarme? – Rasool

2

Las bibliotecas de OpenCV se instalan como en formato .a (biblioteca estática) o .so (biblioteca dinámica).

puede encontrar OpenCV2 (es decir, C++ versión) bibliotecas (por ejemplo libopencv_core.so, libopencv_highgui.so etc) en /usr/local/lib. Si solo desea bibliotecas para la versión c (por ejemplo, libcv.a, libcxcore.a, etc.), puede encontrarlas en /usr/lib.

Cuestiones relacionadas