您的位置:首页 > 运维架构 > Linux

Linux下opencv的交叉编译

2014-11-03 17:04 337 查看
     这次项目的第一个任务是将opencv移植到ARM板上。最先的任务便是先在Linux下进行opencv交叉编译。

     一、编译准备

       系统用的是Fedora14,编译器:arm-linux-gcc-4.4.3、cmake-2.8.7-Linux-i386.sh (这个可以在cmake官网上下载,是解压cmake压缩包的脚本文件,我下载了cmake-2.8.7-Linux-i386.tar包后,在终端里面直接用tar指令直接解压,后面生成Makefile文件的过程进行不了,打开这个脚本文件,里面还包含了许多解压指令,可能是cmake包打包的时候压缩别的一些东西吧,这里要到时候直接解压.sh文件,用终端执行就可以了)

二、安装交叉编译工具链

      arm-linux-gcc-4.4.3和cmake-2.8.7-linux-i386的安装(首先要使用samba服务器把原本下载在pc下的gcc、cmake、opencv(这个等下还要用,顺带一下子移过去了,我使用的是2.3.1版本)和刚刚提的脚本文件一起移到Fedora下;

跟着就按正常安装流程安装在自己中意的目录下,不过要记得自己的安装目录哦,其他文件用tar指令解压就可以了,cmake要用前面提到的脚本文件解压;

最后就是要设置PATH环境变量,在终端上敲入vim /etc/profile,用vi编辑器在文件后面加入export PATH="你刚刚安装的路径$PATH",wq保存并退出,source  /etc/profile没有报错就可以了。)

三、交叉编译

    执行cmake下bin目录下的cmake-gui弹出操作框,选择好源文件路径,生成文件路径勾上Grouped,点击Configure,保持generator为Unix
Makefiles,选择Specify options for cross-compiling,点击next;在出现的界面里Operating System填写arm-inux,接下来选择c和c++的编译器的路径就开始编译了(版本高一些的opencv出错率少一些)

      具体流程可以参考这篇博文http://blog.csdn.net/embeddedman/article/details/7416934,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息