Cmake的安装

OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。

ubuntu下安装cmake比较简单,

apt-get install cmake

如果觉得自带的版本不符合要求,可以下载安装包。

下载最新版的安装包:

这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/

设置环境变量:

sudo gedit /home/emouse/.bashrc

在打开的文件后添加:

export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin

查看版本,测试是否安装成功:

root@emouse:/home# cmake --version

OpenCV 的交叉编译

解压OpenCV压缩文件,得到文件夹。

#cmake-gui 打开cmake的gui界面,开始进行配置,配置过程如下图所示:

首先电脑得先安装arm-linux的交叉编译环境,这里就不介绍这个了,直接说重点。

1、在终端窗口输入sudo apt-get install cmake-qt-gui下载cmake图形界面

2、安装好后在终端窗口输入cmake-gui打开cmake的gui界面

3、在“where is the source code”中填入电脑中opencv源码的位置,“where to build the binaries”填入生成make编译文件的位置,然后点击configure按钮

0818b9ca8b590ca3270a3433284dd417.png

4、选择最后一项

0818b9ca8b590ca3270a3433284dd417.png

5、点击NEXT再跳出的界面中做如下设置

Operating System 选择目标系统Linux

Compilers中选择交叉编译器的gcc和g++

这里注意选择用什么编译,根据不同的编译选择编译命令的路径。

我是使用的arm-oe-linux-gnueabi来编译,找到编译器的安装路径:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/

gcc:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc

g++:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++

Target Root选择交叉编译器的路径:/usr/local/arm-linux/arm-oe-linux-gnueabi/

include Mode选择Search only in Target Root

0818b9ca8b590ca3270a3433284dd417.png

6、点击Finish按钮,开始生成配置文件,但是这个时候会报错。

CMake Error at cmake/FindCUDA.cmake:763 (if):

if given arguments:

"CUDA_VERSION" "VERSION_GREATER" "5.0" "AND" "CMAKE_CROSSCOMPILING" "AND" "MATCHES" "arm"

Unknown arguments specified

Call Stack (most recent call first):

cmake/OpenCVDetectCUDA.cmake:26 (find_package)

cmake/OpenCVFindLibsPerf.cmake:24 (include)

CMakeLists.txt:468 (include)

应该是我的电脑里没有安装CUDA的库,因为后面的开发中也不会用到CUDA,所以我将 WITH_CUDA的钩去掉,然后再点击一次Configure按钮,看看还有没有提示缺少哪些第三方库,网上其他文章说WITH_TIFF要去掉,但是这里没有报错就不管它了。

7、同时可以将CMAKE_INSTALL_PREFIX和CMAKE_FIND_ROOT_PATH改成你想要的路径,这个路径是opencv最后库文件和头文件的安装路径。确认在不存在其他问题后点击Generate生存Makefile文件,如果前面第三方的问题没有解决这里是会报错而无法生存Makefile。生成的Makefile文件和Cmake配置文件都在 Wher to build the binarier 中设置的文件夹下

0818b9ca8b590ca3270a3433284dd417.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐