LV050-zbar简介
一、ZBar 简介
1. 简介
ZBar条形码阅读器是一个开源软件,适用于读取不同来源的条形码,如视频流、图像文件和原始强度传感器。它支持EAN-13/UPC-A, UPC-E, EAN-8, Code 128,Code 39, Codabar, Interleaved 2/5和二维码。包括在库是解码捕获的条形码图像和图像的基本应用程序,使用视频设备(如网络摄像头)作为条形码扫描仪。对于开发者,支持语言绑定包括C、C++、Python和Perl,以及用于Qt、GTK和PyGTK的GUI小部件。
2. 相关资料
官网在这里:ZBar bar code reader
GitHub仓库:ZBar/ZBar、mchehab/zbar
3. 下载源码
这里有两个版本:ZBar/ZBar 仓库的 Release 0.10 · ZBar/ZBar(新的版本没有configure文件了,要自己生成,我试了一下,没那么容易,很多问题要解决,也可能是我太菜了)、mchehab/zbar 仓库的版本,它有个ftp网址 Index of /downloads/zbar 可以下栽,这里我选当前最新的:zbar-0.23.tar.gz:

解压后可以得到如下文件:

说明:
(1)并不是所有的版本下载下来之后都直接有configure文件,有些版本是没有的,需要自己生成,但是自己生成又总是有一堆的问题,不如选直接带有configure的版本。
(2)关于0.10版本,在网上可能会在这几个地方找到0.10版本的源码:
htmllinuxtv:https://linuxtv.org/downloads/zbar/zbar-0.10.tar.bz2 sourceforge:https://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.bz2/download GitHub:https://github.com/ZBar/ZBar/releases/tag/0.10只有 sourceforge 中下载的带有configure文件,其他两个都没有,我自己折腾生成configure文件的时候不是这里报错就是那里报错的,就感觉很麻烦,不如选择带有 configure 文件的,如果一定要用0.10版本的话,可以用以下命令下载:
shellwget https://jaist.dl.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2
二、ZBar移植
1. 编译源码
- 创建安装目录
mkdir -p /home/sumu/9arm-linux-lib/zbar-0.23/zbar_out- 配置编译选项
./configure --host=arm-linux-gnueabihf --prefix=/home/sumu/9arm-linux-lib/zbar-0.23/zbar_out --enable-static --without-python --without-imagemagick --without-jpeg --without-gtk --without-qt --disable-video --without-dbus- 编译
make- 安装
make install安装完毕后,我们会得到下面的文件:

会发现也有两个软链接,拷贝的时候需要注意一下。我们可以使用以下命令看一下生成的库的格式是否是对的:
file libzbar.so.0.3.0
2. 拷贝到共享目录
拷贝到共享目录的目的是编译的时候用。
cp -avf ~/9arm-linux-lib/zbar-0.23/zbar_out ~/1sharedfiles/linux_develop/imx6ull-app-demo/lib/zbar-0.23
cd ~/1sharedfiles/linux_develop/imx6ull-app-demo/lib/zbar-0.23/lib
cp libzbar.so.0.3.0 libzbar.so
cp libzbar.so.0.3.0 libzbar.so.03. 移植到开发板
这里我们直接从ubuntu挂载的根文件系统,所以直接拷贝即可。
# 这个命令在ubuntu中执行
cp -avf ~/9arm-linux-lib/zbar-0.23/zbar_out/lib/* /home/sumu/4nfs/imx6ull_rootfs/lib拷贝完毕后检查一下软链接:
# 这个命令在串口终端执行
ls -alh /usr/lib/libzbar*