下载地址
http://sourceforge.mirrorservice.org/z/zb/zbar/zbar/0.10/
http://zbar.sourceforge.net/可能由于某些原因,编写这篇文章时无法打开。
编译环境
Ubuntu 18.04.3 LTS
编译配置
假设:
- 交叉编译工具:arm-linux-
使用的交叉编译工具版本信息如下:Target: arm-linux-gnueabi Configured with: --target=arm-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-clocale=gnu --enable-libgomp --disable-libitm --enable-poison-system-directories Thread model: posix gcc version 6.3.0
- 交叉编译结果安装目录:/home/user/cross-compile/
配置及编译:
-
设置环境变量:
export NM=arm-himix200-linux-nm
-
设置编译参数:
./configure --prefix=/home/user/cross-compile/zbar --host=arm-linux --enable-shared --without-gtk --without-python --without-qt --without-imagemagick --disable-video CC=arm-linux-gcc CXX=arm-linux-g++
–prefix:指定安装目录
–host:指定目标主机类型
–enable-shared:编译生成.so动态库
–enable-static:编译生成.a静态库 -
编译,执行make
编译ZBar时,可能提示如下错误。In file included from /usr/include/stdio.h:937:0, from zbar/debug.h:60, from zbar/scanner.c:34: /usr/include/x86_64-linux-gnu/bits/stdio2.h:140:1: error: expected identifier or ‘(’ before ‘{’ token
解决方法:
export CFLAGS=""
将CFLAGS环境变量置为空,然后重新 ./configure,再make,则会成功。 -
安装编译结果,make install
其他
zxing和zbar的比较,可以参考:https://mp.weixin.qq.com/s/_I8GgmRcuntYlVteSmRRDg