OPENCV imposible compilacion cruzada para ARM

Iniciado por cacaito, 18 Junio 2014, 17:35 PM

0 Miembros y 1 Visitante están viendo este tema.

cacaito

Hola buenas soy nuevo en este foro, espero explicarme con claridad porque ya no se que hacer con un problema que tengo.

Estoy haciendo un programa en linux programado en c++ que utiliza librerias opencv, el programa simplemente se conecta a una camara ip y retransmite el video. Bueno esta aplicacion tengo que ejecutarla en una ARMStone9, para conseguir ese ejecutable tengo que realizar una compilacion cruzada, dispongo de las herramientas de compilacion las cuales he usado para compilar otras aplicaciones que no utilizan opencv y han funcionado perfectamente en mi ARM.

Para compilar ficheros normales sigo estos pasos:

Exporto el PATH donde tengo instaladas las herramientas de compilacion:

export PATH=$PATH\:/opt/freescale/usr/local/gcc-4.4.4-glibc-
2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin
export ARCH=arm

export PATH=$PATH:/opt/freescale/usr/local/gcc-4.4.4-glibc-
2.11.1-multilib-1.0
export ARCH=arm
export CROSS_COMPILE=arm-linux-

Una vez hecho esto compilo el fichero de la siguiente manera:

arm-linux-g++ -o cam NoOpencv.cpp

y todo se compila perfectamente creandome un ejecutable ya que este fichero no usa librerias Opencv.

Estuve leyendo que para hacer la compilacion cruzada con Opencv necesitaba descargarme las librerias  de opencv, lo hice y las instale siguiendo este manual:

http://docs.opencv.org/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.html

una vez he hecho esto indico en el comando para compilar el path en donde estan las librerias:

arm-linux-g++ IPCamera.cpp -o camera -I/home/jesus/opencv_build/build/opencv/include

pero me saca este error:

from IPCamera.cpp:12:
/home/jesus/opencv_build/build/opencv/include/opencv2/core/core.hpp:48:33: error: #include nested too deeply
In file included from IPCamera.cpp:12:
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:47:31: error: opencv2/imgproc.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:48:29: error: opencv2/photo.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:49:29: error: opencv2/video.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:50:34: error: opencv2/features2d.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:51:33: error: opencv2/objdetect.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:52:31: error: opencv2/calib3d.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:53:31: error: opencv2/highgui.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:54:31: error: opencv2/contrib.hpp: No such file or directory
/home/jesus/opencv_build/build/opencv/include/opencv2/opencv.hpp:55:26: error: opencv2/ml.hpp: No such file or directory
IPCamera.cpp:13:29: error: opencv2/highgui.h: No such file or directory
IPCamera.cpp:18:22: error: X11/Xlib.h: No such file or directory
IPCamera.cpp:23: error: 'cv' is not a namespace-name
IPCamera.cpp:23: error: expected namespace-name before ';' token
IPCamera.cpp: In function 'int main(int, char**)':


Esto es la mayor parte del output.

Y la verdad estoy perdido he leido de todo y he buscado por todas partes, no soy un experto ni mucho menos en esto y no se que mas hacer.

Espero alguien me pueda ayudar.

Muchas gracias un saludo