opencv2.4.9移植到arm板上
感謝這個資源共享的世界!美好的世界!
一:環境
ubuntu 14.0.4
交叉編譯器:4.5.1
二:交叉編譯器的安裝(後面有所有的檔案下載地址)
三:依賴庫的安裝:(沒寫解壓的命令)
1):
zlib-1.2.7.tar.gz
CC=arm-linux-gcc ./configure --prefix =/home/opencvAll –shared
make
make install
可能出現的狀況:好像這兒 我美出現什麼狀況,只要把編譯器的路徑搞好了。
2):jpegsrc.v8c.tar.gz
./configure --prefix=/home/allLib --host=arm-none-linux-gnueabi--enable-shared
make
make install
可能出現的狀況:沒遇見
3):libpng-1.5.14.tar.bz2(依賴zlibz)
CC=arm-linux-gcc./configure --prefix=/home/allLib --host=arm-linux LDFLAGS=-L/home/allLib/lib CFLAGS=-I/home/allLib/include
make
make install
可能遇見的問題:找不到zlib相關的依賴庫 LDFLAGS=-L/home/allLib/lib CFLAGS=-I/home/allLib/include
4):x264-snapshot-20120528-2245-stable.tar.bz2
CC=arm-linux-gcc ./configure --host=arm-linux --cross-prefix=arm-none-linux-gnueabi --enable-shared --prefix=/home/allLib
make
make install
可能遇見的問題:沒遇見。
5):xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic(要注意哦)
CC=arm-linux-gcc./configure --prefix=/home/allLib --host=arm-none-linux-gnueabi --disable-assembly
make
make install
可能遇見的問題:沒遇見。
6):ffmpeg-0.10.3.tar.bz2(這個介紹一下:視音訊編解碼庫它的依賴庫x264和xvidcore)
./configure --prefix=/home/allLib --enable-shared --disable-static --enable-gpl --enable-cross-complie --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-none-linux-gnueabi-gcc --enable-swscale --extra-cflags=-I/home/allLib/include --extra-ldflags=-L/home/allLib/lib--disable-asm
make
make install
可能遇見的問題:./configure時候出現了 --arch-arm 寫錯 和依賴庫找不到 加 --extra-cflags=-I/home/allLib/include --extra-ldflags=-L/home/allLib/lib--disable-asm
./configure --help 檢視configure的詳細用法。
7):tiff-4.0.3.tar.gz
CC=arm-linux-gcc ./configure --prefix=/home/allLib --host=arm-linux
make
make install
四:opencv2.4.9的安裝
apt-get install cmake-gui cmake (你不能上網的那 你就尷尬了)
cd opencv 2.4.9
mkdir arm_build
cd arm_build
gedit toolchain.cmake
set( CMAKE_SYSTEM_NAME Linux )
set(CMAKE_SYSTEM_PROCESSOR arm )
set(CMAKE_C_COMPILER arm-none-linux-gnueabi-gcc )
set(CMAKE_CXX_COMPILER arm-none-linux-gnueabi-g++ )
set(CMAKE_FIND_ROOT_PATH "/home/allLib/lib ") ##這個是就是依賴庫的路徑
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
cmake-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
進行一系列的配置:
CMAKE_INSTALL_PREFIX /usr/local/arm/opencv-install
去掉 WITH_CUDA
去掉 WITH_GTK
去掉 WITH_1394
去掉 WITH_GSTREAMER
去掉 WITH_LIBV4L (因為後面有另外一個WITH_V4L)
去掉 WITH_TIFF
去掉 BUILD_OPENEXR
去掉 WITH_OPENEXR
去掉 BUILD_opencv_ocl
去掉 WITH_OPENCL
根據自己的需要選擇編譯的選項,有的選項需要安裝相應的依賴的庫,否則編譯會出錯
完成後 Generate
修改 CMakeCache.txt, CMAKE_EXE_LINKER_FLAGS原來為空,加上 -lpthread -lrt
我配置出現的時候主要出現了什麼start的錯誤就是沒有把GIGEPA那個選項沒有去掉。
make
可能出現的錯誤:
找不到前面的依賴庫的某個庫:
我的解決方法就是:把它所需要的庫cp 到 opencv2.4.9/arm_build/lib自我感覺這個方法很好當然也可以修改/etc/profile加LIB_LIBRARY_PATH=$LIB_LIBRARY_PATH:" /home/allLib/lib "
make install
資源:
依賴包:
http://download.csdn.net/detail/xzy_ok/9874347
opencv2.4.9包:
http://pan.baidu.com/s/1jIxFqqM
我移植好了的opencv庫:
http://download.csdn.net/detail/xzy_ok/9874361
GOOD LUCK!!!!