zint编译配置整理
来源:互联网 发布:java开源框架是什么 编辑:程序博客网 时间:2024/06/05 15:30
Zint是一个强大的二维码编码生成开源工具,基于C语言开发,支持Code 128, Data Matrix, USPS OneCode, EAN-128, UPC/EAN, ITF, QR Code,Code 16k, PDF417, MicroPDF417, LOGMARS, Maxicode, GS1 DataBar, Aztec等各种码制,采用BSD和GPLv3授权。
因项目需要支持pdf417二维码生成,经过比较各种开源项目,最终决定选用zint,网上有资料说zint对中文编码支持不好,没有仔细去研究,目前采用的方案是直接将待编码数据作为二进制字节处理,不关心实际的编码,由上层应用来处理采用哪种编码。
Zint依赖于libpng和libz(libpng需要libz),本文档采用的版本分别为zint-2.4.2,zlib-1.2.8,libpng-1.6.23。
Windows下编译
首先需要编译libpng和libz,libpng中已集成了VisualStudio工程,编译很方便。
1、 将libpng和zlib分别解压到各自目录,zlib解压后名字为zlib-1.2.8,修改为zlib与libpng目录同级即可。
2、 进入libpng-1.6.23目录,在projects目录下有visualc71和vstudio两个vc工程目录,分别对应vs2005和vs2010,可根据自己开发环境来选择。
3、 工程配置中已有了Lib Release/LibDebug/Dll Release/Dll Debug各项配置,也同时集成了zlib的编译,非常方便,根据需要编译即可得到zlib和libpng的链接库。
4、 解压zint到zint-2.4.2目录,在win32目录下有创建好的vs工程,打开即可。
5、 zint工程中包含了libzint(开发库)和zint(二维码生成工具)两个。
6、 由于zint依赖于libpng和zlib,所以需要配置两个库的头文件和库文件,这里有两种方式,一种是直接在工程里配置头文件和库文件相对路径,再一种是把头文件拷贝到backend目录(需要拷贝png.h、pngconf.h、pnglibconf.h和zlib.h、zconf.h),把编译后的libpng和zlib的库拷贝到工程目录,在工程配置里引用即可。
7、 这里有个坑,backend下png.c里少引用了zlib.h,在#include“png.h”下添加即可,否则会提示有个宏定义Z_BEST_COMPRESSION找不到。
8、 编译得到libzint的库就可以使用了。注意静态库使用时还要同时链接libpng和zlib的静态库。
Linux下编译
linux下的编译更简单,注意同样需要第7步修改源码。
编译的顺序为zlib—>libpng—>zint。zlib和libpng使用默认的configure、make、make install即可。zint使用了cmake,如果系统没有需要先安装,然后根据INSTALL中的提示编译即可:
cd build
cmake ..
make
make install
- zint编译配置整理
- zint编译过程记录
- windows vs2010 编译 zint
- vs2010中编译zint的问题
- vs 编译zint库 zint库依赖 zlib库和libpng库---------------------完全正确 亲自试验
- vc++2010配置编译opencv2.3.1通过(方法整理)
- VC利用 zint 库生成二维码
- Delphi 调用Zint 实现二维码功能
- qt+zint实现打印一维条形码
- VC利用 zint 库生成二维码
- VC++编译错误整理
- PB编译错误整理
- VsIDE编译问题整理
- 编译错误整理
- 整理【编译QGIS】
- 编译错误整理
- 整理 : WRK编译
- gcc编译错误整理
- react-native android环境开发踩坑之旅
- java 绘制数值计算云图
- 常用工具汇总
- 装饰模式(Decorator)
- hive内部表、外部表
- zint编译配置整理
- 第四十三讲 项目四 计算工资
- TCP 的那些事儿(下)
- Apache Shiro 快速入门教程,shiro 基础教程
- Kmeans算法寻找合适K值
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- Windows驱动开发(10) - 驱动程序的同步处理(一)
- linux下分区、格式化、挂载的命令
- 关于视图动画我的Bug(待解决)