zoukankan      html  css  js  c++  java
  • Building / Cross Compiling OpenCV for Linux ARM /MIPS

    1) simple mode
    cd opencv-3.4.9
    mkdir build
    cmake ../
    -DCMAKE_C_COMPILER=mips-linux-gnu-gcc
    -DCMAKE_CXX_COMPILER=mips-linux-gnu-g++
    -DOPENCV_FORCE_3RDPARTY_BUILD=ON
    -DBUILD_ZLIB=ON
    -DCMAKE_INSTALL_PREFIX=../output
     
    2) crop mode
    cd opencv-3.4.9
    mkdir build
    cmake ../
    -DCMAKE_C_COMPILER=mips-linux-gnu-gcc
    -DCMAKE_CXX_COMPILER=mips-linux-gnu-g++
    -DOPENCV_FORCE_3RDPARTY_BUILD=ON
    -DBUILD_ZLIB=ON -DWITH_GTK=OFF -DWITH_GTK=OFF
    -DWITH_GTK_2_X=OFF -DWITH_CUDA=OFF -DWITH_IPP=OFF
    -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF
    -DWITH_QUIRC=OFF -DWITH_OPENCLAMDFFT=OFF
    -DWITH_1394=OFF -DWITH_FFMPEG=OFF -DWITH_WEBP=OFF
    -DWITH_TIFF=OFF -DWITH_OPENEXR=OFF -DWITH_PNG=OFF
    -DWITH_PROTOBUF=OFF -DWITH_GSTREAMER=OFF -DWITH_IMGCODEC_SUNRASTER=OFF
    -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_ts=OFF
    -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF
    -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF
    -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF
    -DBUILD_opencv_flann=OFF -DBUILD_opencv_highgui=OFF
    -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF
    -DBUILD_opencv_photo=OFF -DBUILD_opencv_video=OFF
    -DBUILD_opencv_videoio=OFF -DBUILD_opencv_videostab=OFF
    -DCMAKE_BUILD_TYPE=RELEASE
    -DCMAKE_INSTALL_PREFIX=../output
    -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64
    -DCMAKE_CXX_FLAGS="-s -Os" -DCMAKE_C_FLAGS="-s -Os"
     
    3) Bug 20649 - [MIPS] Can't find matching LO16 reloc
    cd opencv-3.4.9/samples/cpp/example_cmake
    make
    mips-linux-gnu-g++ example.cpp -o example.o -c -Wall -I/home/zhoudd/2021/202107/cv/opencv-3.4.9/output/include/opencv -I/home/zhoudd/2021/202107/cv/ope
    ncv-3.4.9/output/include
    mips-linux-gnu-g++ example.o -o opencv_example -L/home/zhoudd/2021/202107/cv/opencv-3.4.9/output/lib -L/home/zhoudd/2021/202107/cv/opencv-3.4.9/output/
    share/OpenCV/3rdparty/lib -lopencv_imgcodecs -lopencv_imgproc -lopencv_core -lzlib -littnotify -llibjpeg-turbo -llibjasper -ldl -lm -lpthread -lrt
    /opt/mips-gcc540-glibc222-64bit-r3.3.0/bin/../lib/gcc/mips-linux-gnu/5.4.0/../../../../mips-linux-gnu/bin/ld: /home/zhoudd/2021/202107/cv/opencv-3.4.9/
    output/lib/libopencv_core.a(ocl.cpp.o): Can't find matching LO16 reloc against `_ZN2cv3oclL5crc64EPKhjy.constprop.345' for R_MIPS_GOT16 at 0x170 in sec
    tion `.text._ZN2cv3ocl13ProgramSource4Impl10updateHashEPKc[_ZN2cv3ocl13ProgramSource4Impl10updateHashEPKc]'
     
    fix
    https://sourceware.org/bugzilla/show_bug.cgi?id=20649

    copyright

    [1]Building / Cross Compiling OpenCV for Linux ARM
    https://www.ridgesolutions.ie/index.php/2013/05/24/building-cross-compiling-opencv-for-linux-arm/
    [2]Cross compilation for ARM based Linux systems
    https://docs.opencv.org/3.4.13/d0/d76/tutorial_arm_crosscompile_with_cmake.html
    [3]海思3559上移植OpenCV3.4.1 (四)在3559A上的适配
    https://blog.csdn.net/zhenglie110/article/details/87933483
    [4]海思平台OpenCV编译与进一步裁剪
    https://zhuanlan.zhihu.com/p/198457743?utm_source=org.mozilla.firefox_beta
     
  • 相关阅读:
    微信小程序设置控件权重
    从外部浏览开启app
    对rxandroid的简单理解
    react native TextInput
    使用广播来进行刷新页面
    react native中对props和state的理解
    android中四大组件之间相互通信
    android tab选项卡的使用
    android控件 ToggleButton的应用
    Listview的使用
  • 原文地址:https://www.cnblogs.com/dong1/p/14958433.html
Copyright © 2011-2022 走看看