linux下交叉编译libjpeg与opencv1.0

./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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值