zbar二维码扫描在Linux系统下的编译安装

2019-07-13 06:59发布


获取源代码 zbar
http://downloads.sourceforge.NET/project/zbar/zbar/0.10/zbar-0.10.tar.gz

解压
1. tar -zxvf zbar-0.10.tar.gz

获取相关编译支持
1. $ sudo apt-get install libqt4-dev  //qt相关
2. $ sudo apt-get install libv4l-dev
3. $ sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h  //.h文件链接
4. $ sudo apt-get install python-gtk2-dev

编译安装
1 $ export CFLAGS=""
2 $ ./configure
3 $ make
4 $ sudo make install

如果不指定prefix,编译完成会在/usr/local/bin下生成相应的可执行文件,/usr/local/include下生成头文件,/usr/local/lib下相应的.so库。(指定prefix,编译可能会出现问题)

/×××××××××××××××××××××××××ERROR××××××××××××××××××××××××××××/

1 ,出错
    test for video support failed! rebuild your kernel to include video4linux support or configure --disable-video to skip building video support.

    解决1 : 直接在configure中 添加--disable-video     (./configure --disable-video)  这样,就不会支持V4L2了

    解决2 : 由于头文件检测问题中,linux2.4以上内核没有/usr/include/linux/videodev.h,只有/usr/include/libv4l1-videodev.h,/usr/include/linux/videodev2.h,
    修改configure.ac
    AC_CHECK_HEADERS([linux/videodev.h] 改为 AC_CHECK_HEADERS([libv4l1-videodev.h]
    修改zbar/video/v4l1.c
    #include 改为 #include
    重新执行编译
    $ export CFLAGS=""
    $ ./configure
    $ make
    $ sudo make install

2 ,出错:
    configure: error: in `/home/huazai/user_dir/zbar/zbar-0.10':
    configure: error: Unable to find ImageMagick >= 6.2.6:
    No package 'MagickWand' found

    解决:        
    1. 安装 ImageMagick :
    $sudo apt-get install imagemagick libmagickwand-dev


3 ,出错
    zbarcam: error while loading shared libraries: libzbar.so.0: cannot open shared object file: No such file or directory

    解决2:
    $ sudo apt-get install PHP-pear php5-dev  //如果报错,可以尝试phpx-dev

希望能帮到各位。。。