天天看點

海思Hi3521DV200移植opencv3.31.官網下載下傳源碼,2.編譯cmake3.錯誤

1.官網下載下傳源碼,

opencv-3.3.0版本 https://opencv.org/releases/

2.編譯cmake

2.1建立目錄

mkdir build
mkdir output
           

2.2 建立一個bulid.sh腳本

#!/bin/sh
cmake -D CMAKE_BUILD_TYPE=RELEASE  \
	  -D CMAKE_C_COMPILER=arm-himix400-linux-gcc \
	  -D CMAKE_CXX_COMPILER=arm-himix400-linux-g++ \
	  -D BUILD_SHARED_LIBS=ON\
	  -D CMAKE_CXX_FLAGS=-fPIC \
	  -D CMAKE_C_FLAGS=-fPIC \
	  -D CMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
	  -D ENABLE_PIC=ON \
	  -D WITH_1394=OFF \
	  -D WITH_ARAVIS=OFF \
	  -D WITH_ARITH_DEC=ON \
	  -D WITH_ARITH_ENC=ON \
	  -D WITH_CLP=OFF \
	  -D WITH_CUBLAS=OFF \
	 -D WITH_CUDA=OFF \
	 -D WITH_CUFFT=OFF \
	 -D WITH_FFMPEG=ON \
	 -D WITH_GSTREAMER=ON \
	 -D WITH_GSTREAMER_0_10=OFF \
	 -D WITH_HALIDE=OFF \
	-D WITH_HPX=OFF \
	-D WITH_IMGCODEC_HDR=ON \
	-D WITH_IMGCODEC_PXM=ON \
	-D WITH_IMGCODEC_SUNRASTER=ON \
	-D WITH_INF_ENGINE=OFF \
	-D WITH_IPP=OFF \
	-D WITH_ITT=OFF \
	-D WITH_JASPER=ON \
	-D WITH_JPEG=ON \
	-D WITH_LAPACK=ON \
	-D WITH_LIBREALSENSE=OFF \
	-D WITH_NVCUVID=OFF \
	-D WITH_OPENCL=OFF \
	-D WITH_OPENCLAMDBLAS=OFF \
	-D WITH_OPENCLAMDFFT=OFF \
	-D WITH_OPENCL_SVM=OFF \
	-D WITH_OPENEXR=OFF \
	-D WITH_OPENEXR=OFF \
	-D WITH_OPENGL=OFF \
	-D WITH_OPENMP=OFF \
	-D WITH_OPENNNI=OFF \
	-D WITH_OPENNNI2=OFF \
	-D WITH_OPENVX=OFF \
	-D WITH_PNG=OFF \
	-D WITH_PROTOBUF=OFF \
	-D WITH_PTHREADS_PF=ON \
	-D WITH_PVAPI=OFF \
	-D WITH_QT=OFF \
	-D WITH_QUIRC=OFF \
	-D WITH_TBB=OFF \
	-D WITH_TIFF=ON \
	-D WITH_VULKAN=OFF \
	-D WITH_WEBP=ON \
	-D WITH_XIMEA=OFF \
	-D BUILD_ZLIB=OFF \
	-D ZLIB_INCLUDE_DIR=\
	-D ZLIB_LIBRARY_RELEASE= \
	-D  CMAKE_INSTALL_PREFIX=../output\
	-D   WITH_GTK=OFF\
	..
           

2.3 cmake生成編譯環境

cd build
cp ../build.sh ./

./build.sh

make -j8

make install
           

完成後生成庫在output目錄下

2.4 動态庫和靜态庫

cmake  -D BUILD_SHARED_LIBS=ON  OFF來控制

3.錯誤

找不到zlib庫,可以不編譯。

/opt/hisi-linux/x86-arm/arm-himix400-linux/host_bin/../lib/gcc/arm-linux-gnueabi/7.3.0/../../../../arm-linux-gnueabi/bin/ld: cannot find -lz
           

解決方法:

在build.sh添加如下

-D BUILD_ZLIB=OFF\

-D ZLIB_INCLUDE_DIR=\

-D ZLIB_LIBRARY_RELEASE= \
           

繼續閱讀