系统:ubuntu 12.04
1.安装交叉编译工具
$ sudo apt-get install g++-arm-linux-gnueabihf
2.配置makefile
新建一个目录build 用来编译,位置随意,我放在opencv源代码的根目录。
opencv采用cmake来配置,格式如下
cmake [] -DCMAKE_TOOLCHAIN_FILE=/platforms/linux/arm-gnueabi.toolchain.cmake
操作命令
$ cd build
$ cmake -DENABLE_VFPV3=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ..
$ make
参数解释:
ENABLE_VFPV3=ON 启用VFP
BUILD_SHARED_LIBS=OFF 关闭生成动态库,即生成静态库
ENABLE_NEON=ON 启用neon
SOFTFP=ON 启用softfp
参考:
Cross compilation for ARM based Linux systems
Linux 下编译安装OpenCV
3.使用静态库
写一个测试程序test.cpp,然后编写makefile,内容参考如下
CC = /usr/bin/arm-linux-gnueabihf-gcc
#AR = /usr/bin/arm-linux-gnueabihf