ubuntu14.04上交叉编译opencv-2.4.9
2017-10-24 17:55
381 查看
一、下载opencv源码以及相关依赖库源码(libz、libjpeg、libpng、yasm、libx264、libxvid、ffmpeg)
二、编译依赖库
1、Libz的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步 : ./configure --prefix=<生成库的安装目录> --shared
第三步: make
make install
2、Libjpeg的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
3、Libpng的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步: ./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
4、yasm的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步: ./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
5、Libx264的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --enable-shared --host=arm-linux --disable-asm --prefix=<生成库的安装目录>
第三步: make
make install
6、Libxvid的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:cd build/generic && ./configure --prefix=<生成库的安装目录> --host=arm-linux --disable-assembly
第三步: make
make install
7、ffmpeg的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads
--disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=<生成库的安装目录>
第三步: make
make install
三、配置toolchain
上一步骤执行完毕,将会在--prefix指定的目录下生成如下的文件结构,
1、将上述lib目录中的文件复制到toolchain的rootfs目录的usr/lib目录下
2、将上述include目录复制到toolcahin的rootfs目录的usr目录下
注:toolchain的rootfs目录,存放了交叉编译时需要用到的目标平台相关的库、头文件等,不同版本的toolchain该目录可能有所不同,
以gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux这个toolchain为例,该目录为arm-linux-gnueabihf/libc
四、配置opencv
1、在opencv源码根目录下创建编译目录build
2、启动cmake-gui
3、去掉with_cuda with_gtk with_1394 libv4l选项
4、配置CMAKE_INSTALL_PREFIX, 为编译后的文件安装的路径
5、点击config, 然后generate
6、进入build, 执行make
7、执行make install
至此,可以在CMAKE_INSTALL_PREFIX指定的目录下找到相关的库文件以及头文件。
二、编译依赖库
1、Libz的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步 : ./configure --prefix=<生成库的安装目录> --shared
第三步: make
make install
2、Libjpeg的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
3、Libpng的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步: ./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
4、yasm的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步: ./configure --host=arm-linux --prefix=<生成库的安装目录> --enable-shared --enable-static
第三步: make
make install
5、Libx264的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --enable-shared --host=arm-linux --disable-asm --prefix=<生成库的安装目录>
第三步: make
make install
6、Libxvid的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:cd build/generic && ./configure --prefix=<生成库的安装目录> --host=arm-linux --disable-assembly
第三步: make
make install
7、ffmpeg的交叉编译
第一步: export CC=<toolchain的gcc路径>
第二步:./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads
--disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=<生成库的安装目录>
第三步: make
make install
三、配置toolchain
上一步骤执行完毕,将会在--prefix指定的目录下生成如下的文件结构,
1、将上述lib目录中的文件复制到toolchain的rootfs目录的usr/lib目录下
2、将上述include目录复制到toolcahin的rootfs目录的usr目录下
注:toolchain的rootfs目录,存放了交叉编译时需要用到的目标平台相关的库、头文件等,不同版本的toolchain该目录可能有所不同,
以gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux这个toolchain为例,该目录为arm-linux-gnueabihf/libc
四、配置opencv
1、在opencv源码根目录下创建编译目录build
2、启动cmake-gui
3、去掉with_cuda with_gtk with_1394 libv4l选项
4、配置CMAKE_INSTALL_PREFIX, 为编译后的文件安装的路径
5、点击config, 然后generate
6、进入build, 执行make
7、执行make install
至此,可以在CMAKE_INSTALL_PREFIX指定的目录下找到相关的库文件以及头文件。
相关文章推荐
- 树莓派2+Ubuntu14.04+OpenCV交叉编译
- Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV 2.4.9
- Ubuntu14.04 Opencv2.4.9交叉编译
- Ubuntu 14.04 arm-2009q3交叉编译工具链的安装及使用
- Ubuntu14.04 安装opencv(2.4以上)
- ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
- Ubuntu14.04(AMD64)平台编译,安装openCV3
- Ubuntu 14.04 64位 嵌入式交叉编译环境arm-linux-gcc搭建 一次成功
- ubuntu14.04交叉编译移植python2.7.3
- arm-linux-gnueabihf编译器在ubuntu环境下交叉编译opencv2.4.10 排版3(没有跑通例子程序)
- ubuntu14.04编译opencv-2.4.9出现“nvcc fatal : Unsupported gpu architecture 'compute_11'”错误
- Ubuntu 16.04上用CMake图形界面交叉编译树莓派的OpenCV3.0
- ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
- Ubuntu 14.04 LTS + Qt 4.7.3 交叉编译
- ubuntu14.04配置交叉编译工具链
- ubuntu64位下交叉编译opencv3.3遇到的make[error]error: call of overloaded 'abs(long long int&)' is ambiguous
- 64位的ubuntu14.04 LTS安装 Linux交叉编译工具链及32位“ia32-libs”依赖库
- Ubuntu15.04交叉编译opencv到ARM全过程
- 基于Ubuntu 11.10/12.04编译OpenCV 2.3.x和2.4.x(适用于Fedora和红帽子rhel 6.2)
- 64位的ubuntu14.04 LTS安装 Linux交叉编译工具链及32位“ia32-libs”依赖库