2010-12-30 11 views
13

Estoy intentando compilar un programa de ejemplo después de instalar OpenCV con el comando:código se compila con OpenCV Bibliotecas

g ++ hola-world.cpp -o hola-mundo -I/usr/local/include/OpenCV - L/usr/local/lib -lm -lcv -lhighgui -lcvaux

sin embargo, estoy recibiendo un error que dice:

/usr/bin/ld: no puede encontrar -lcv
/usr/bin/ld: no se puede encontrar -lhighgui
/uer/bin/ld: no se puede encontrar -lcvaux collect2: ld devuelto 1 ex estado

¿Qué debo hacer para corregir esto? Instalé OpenCV descargando la última versión estable y usando cmake para crear los archivos de compilación, luego ejecuté make install desde la línea de comandos.

¿Hubo algo que me haya perdido?

Gracias,

Respuesta

8

es necesario agregar otra -L argumento que especifica la ubicación real de las librerías OpenCV.

+0

así que en lugar de -L/usr/local/lib tienen -L ? o una -L adicional ... ¿y dónde encontraría las bibliotecas? Cuando hago una instalación make, me muestra todos los archivos están actualizados y la ubicación ... pero hay tantas cosas diferentes ... todos los archivos .h están en/usr/local/include/opencv ... ¿los archivos de la biblioteca tienen una extensión diferente? – Kaigi

+0

Pase por la salida cmake para averiguarlo. –

+0

gracias por su respuesta rápida. Editó mi comentario anterior, pero cuando lo hice, ya había respondido. Creo que no tengo claro qué es lo que realmente estoy buscando. Cuando hago una instalación make, me muestra todos los archivos están actualizados y la ubicación ... pero hay tantas cosas diferentes ... todos los archivos .h están en/usr/local/include/opencv ... ¿los archivos de la biblioteca tienen una extensión diferente? – Kaigi

31

actualizado (Lo siento por mis errores en la línea de comandos)

un mejor uso de este comando:

g++ `pkg-config --cflags --libs opencv` opencv.cpp -o opencv 

El comando pkg-config localizará la correcta inclusión y la biblioteca para su código fuente.
Para un mejor manejo con la programación de OpenCV vaya con un IDE como code::block.

Tal vez este tutorial le ayudará en la programación OpenCV con code::block:
How to Setup OpenCV for code :: block in Linux and Windows?

+0

esta es la respuesta correcta y completa – alcor

18

Recientemente he empezado a utilizar OpenCV y que tiene un problema similar y para mí esto funciona muy bien:

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect 

espero que resolverá tu problema

+0

¡Muchas gracias! ¡Me salvaste de enloquecer! –

Cuestiones relacionadas