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

linux下交叉编译libjpeg与opencv1.0

2017-02-20 10:40 316 查看
./configure --enable-shared --enable-static --prefix=/usr/local/libjpeg-arm --exec-prefix=/usr/local/libjpeg-arm
下面分别介绍这几个参数的作用:
--prefix=/root/libjpeg-arm : 执行make install
后,会将与体系无关的文件拷贝到此目录下,具
体如下:
/root/libjpeg-arm.....................................
|
+---include........................................
|
---jconfig.h
|
---jerror.h
|
---jmorecfg.h
|
---jpeglib.h
+---man............................................
|
+---man1.......................................
|
---cjeg.1
|
---djpeg.1
|
---jpegtran.1
|
---rdjpgcom.1
|
---wrjpgcom.1
--exec-prefix=/root/libjpeg-arm :
执行make install 后,会将与体系无关的文件拷贝到此目录
下,即将一些可执行程序、动态链接库和静态链接库拷贝到此目录的相应目录下,具体如下:
/root/libjpeg-arm........................................
|
+---bin............................................
|
---cjeg
|
---djpeg
|
---jpegtran
|
---rdjpgcom
|
---wrjpgcom
+---lib...........................................
|
---libjpeg.la
|
---libjpeg.so
|
---libjpeg.so.62
|
---libjpeg.so.62.0.0
--enable-shared : 用GNU libtool编译成动态链接库 。
4 修改生成的Makefile文件:
# The name of your C compiler:
CC= gcc 该成 CC= arm-hisiv100nptl-linux-gcc(或/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/arm-hisiv100nptl-linux-gcc)
(根据你自己交叉编译器的位置修改)
# library (.a) file creation command
AR= ar rc 该成 AR= arm-hisiv100nptl-linux-ar rc(或自路径,如上)
(同上)
# second step in .a creation (use "touch" if not needed)
AR2= ranlib 该成 AR2= arm-hisiv100nptl-linux-ranlib(或自路径,如上)
(同上)
5 在/root/libjpeg-arm目录下建立
man/man1,include,lib,bin四个目录
6 # make
# make install
7 将/usr/local/libjpeg-arm/include/中(jconfig.h, jerror.h, jmorecfg.h, jpeglib.h)四个头文件拷
贝到:/opt/hisi-linux-nptl/arm-hisiv100-linux/target/usr/include中。
将/usr/local/libjpeg-arm/lib中(libjpeg.la, libjpeg.so, libjpeg.so.62, libjpeg.so.62.0.0)四个库
文件拷贝到:/opt/hisi-linux-nptl/arm-hisiv100-linux/target/lib中
注意:执行以下命令检查生成的libjpeg.so是否为ARM版:
# file libjpeg.so
以下为正确输出,否则检查交叉编译器路径以及Makefile并重新编译。
注意:执行完以上操作后执行以下命令检查库文件是否已正确安装:
# arm-linux-gcc -print-file-name=libjpeg.so
如果输出为"libjpeg.so"则说明没有正确安装,重复7步骤。
如果输出为"DIR/libjpeg.so"则说明安装正确。
 


至此libjpeg交叉编译完成。
 
/opt/hisi-linux-nptl/arm-hisiv100-linux/target/usr/include
 
/opt/hisi-linux-nptl/arm-hisiv100-linux/target/lib
 
./configure --prefix=/usr/local/opencv-arm --host=arm-hisiv100nptl-linux --without-gtk --without-carbon --without-quicktime --with-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-hisiv100nptl-linux-g++
 


arm-hisiv100nptl-linux-g++ facedetect.c -o facedetect -I /usr/local/opencv-arm/include/opencv -lcv -lcxcore -lpthread -lrt -lcvaux -lm -ljpeg -lml -lhighgui
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息