Hi everybody, I am trying to cross compile opencv for Beagle Bone Black in Ubuntu 16.04 Host machine(x86_64).
I am referring http://docs.opencv.org/2.4/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.html and https://indranilsinharoy.com/2012/11/01/installing-opencv-on-linux/ for this The cmake options are as shown below. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_ZLIB=ON -D BUILD_PYTHON_SUPPORT=ON -D CMAKE_TOOLCHAIN_FILE=/home/sajeevank/opencv-3.2.0/platforms/linux/arm-gnueabi.toolchain.cmake /home/sajeevank/opencv-3.2.0 The configuration output is as given below. -- GUI: -- QT: NO -- GTK+: NO -- GThread : NO -- GtkGlExt: NO -- OpenGL support: NO -- VTK support: NO -- -- Media I/O: -- ZLib: build (ver 1.2.8) -- JPEG: libjpeg (ver 90) -- WEBP: build (ver 0.3.1) -- PNG: build (ver 1.6.24) -- TIFF: build (ver 42 - 4.0.2) -- JPEG 2000: build (ver 1.900.1) -- OpenEXR: build (ver 1.7.1) -- GDAL: NO -- GDCM: NO -- -- Video I/O: -- DC1394 1.x: NO -- DC1394 2.x: NO -- FFMPEG: NO -- avcodec: NO -- avformat: NO -- avutil: NO -- swscale: NO -- avresample: NO -- GStreamer: NO -- OpenNI: NO -- OpenNI PrimeSensor Modules: NO -- OpenNI2: NO -- PvAPI: NO -- GigEVisionSDK: NO -- Aravis SDK: NO -- UniCap: NO -- UniCap ucil: NO -- V4L/V4L2: NO/YES -- XIMEA: NO -- Xine: NO -- gPhoto2: NO -- -- Parallel framework: pthreads -- -- Other third-party libraries: -- Use IPP: NO -- Use VA: NO -- Use Intel VA-API/OpenCL: NO -- Use Lapack: NO -- Use Eigen: NO -- Use Cuda: NO -- Use OpenCL: YES -- Use OpenVX: NO -- Use custom HAL: YES (carotene (ver 0.0.1)) -- -- OpenCL: <Dynamic loading of OpenCL library> -- Include path: /home/sajeevank/opencv-3.2.0/3rdparty/include/opencl/1.2 -- Use AMDFFT: NO -- Use AMDBLAS: NO -- -- Python 2: -- Interpreter: /usr/bin/python2.7 (ver 2.7.12) -- -- Python 3: -- Interpreter: /usr/bin/python3 (ver 3.5.2) -- -- Python (for build): /usr/bin/python2.7 -- -- Java: -- ant: NO -- JNI: NO -- Java wrappers: NO -- Java tests: NO -- -- Matlab: Matlab not found or implicitly disabled -- -- Documentation: -- Doxygen: NO -- -- Tests and samples: -- Tests: YES -- Performance tests: YES -- C/C++ Examples: NO -- -- Install path: /usr/local -- -- cvconfig.h is in: /home/sajeevank/opencv-3.2.0 -- ----------------------------------------------------------------- -- It can be seen that many options like QT, GTK+, GThread , GtkGlExt, OpenGL support, VTK support, FFMPEG, GStreamer are marked as NO. On exploring it, I could understand that, it is because of libraries for armhf machine are not installed in x86_64 machine. I tried this as per the web page: https://wiki.mozilla.org/Embedding/IPCLiteAPI_BeagleBoardHF (section -Qt build with X ), I tried installing qt5 libraries apt-get install qt5-default:armhf libpango1.0-dev:armhf libdbus-glib-1-dev:armhf libasound2-dev:armhf libxt-dev:armhf mesa-common-dev:armhf But this is not successful as shown below sajeevank@sajeevank-Vostro-3559:~$ sudo apt-get install qt5-default:armhf [sudo] password for sajeevank: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package qt5-default:armhf It seems this document is a little older. B Q1) Is there any updated method for installing libraries for one architecture(here armhf), from another architecture (here x86_64) ? I tried to run some qt programs which uses opencv libraries. One of the program correctly compiled, when selecting desktop as the device in qt creator, is showing following error when selecting Beaglebone black as the device opencv2/opencv.hpp: No Such file or directory opencv2/highgui/highgui.hpp: No Such file or directory Opencv is correctly cross compiled and installed. Even then this error is coming. Q2) Why this error is coming even after the correct cross compilation and installation of opencv ? My .pro file is as shown below. QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = PanTiltOperation TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui target.path = /root INSTALLS += target DISTFILES += INCLUDEPATH += /usr/local/include/opencv LIBS += -I/usr/local/include/opencv LIBS += -I/usr/local/include LIBS += -L/usr/local/lib LIBS += -lopencv_core LIBS += -lopencv_imgproc LIBS += -lopencv_highgui LIBS += -lopencv_ml LIBS += -lopencv_video LIBS += -lopencv_objdetect LIBS += -lopencv_contrib LIBS += -lopencv_legacy #LIBS += -lopencv_shape LIBS += -lopencv_stitching LIBS +=-lopencv_objdetect LIBS +=-lopencv_superres LIBS += -lopencv_videostab LIBS += -lopencv_calib3d LIBS +=-lopencv_features2d LIBS +=-lopencv_highgui #LIBS +=-lopencv_videoio #LIBS +=-lopencv_imgcodecs LIBS +=-lopencv_video LIBS +=-lopencv_photo LIBS +=-lopencv_ml LIBS +=-lopencv_imgproc LIBS +=-lopencv_flann LIBS +=-lopencv_core Thanks in advance for the help. Sajeevan.K -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/dc456156-a10c-4abf-bd94-b59361585e96%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
