github二维码开源库zqxing、zint在Qt上的调用

1 篇文章 0 订阅
1 篇文章 0 订阅

一、源码地址

zqxing git源码
https://github.com/ftylitak/qzxing

zint git源码
https://github.com/zint/zint

zint学习csdn博客
https://blog.csdn.net/hhhuang1991/article/details/83378108


二、环境

Qt版本:5.14.2
编译环境:MSVC2017 32bit
操作系统:Win10


三、zxing

1. 库的编译

从github下载源码:
https://github.com/ftylitak/qzxing

直接构建qzxing-master\src里面的QZXing.pro,得到QZXing3.dll文件。

2. 库的调用
拷贝QZXing.h、QZXing_global.h、QZXing3.lib和QZXing3.dll文件到项目中,静态调用。

3. demo地址


四、zint

1. 库的编译

按照这篇博客进行编译:
https://blog.csdn.net/hhhuang1991/article/details/83378108

除了博客中提到的注意点,个人编译过程还是遇到不少的问题,下面罗列下,仅供参考:

(1)libpng包含zlib文件时,仅包含了刚加入的zlib的文件,会报错,要选中包含整个zlib源码。

(2)错误:警告被视为错误 - 没有生成“executable”文件。 警告:如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解。
原因是vs是2017版,官网文档这样解析:
在这里插入图片描述
简单的解决办法是设置zlib库属性:项目 - 属性 - 通用配置 - C/C++ - 常规 - 将警告视为错误 修改为否。

(3)编译zint库,找不到 png.h,要分别添加libpng和zlib的include文件夹。

(4)编译zint库,无法打开源文件: “…\backend\dm200.c”: No such file or directory。没有这个文件,就直接右键移除了。

(5)编译zint库,无法打开输入文件“libpng16.lib”。属性-链接器-常规-添加库libpng的lib文件夹。

3. 库的调用

使用静态调用

//pro文件导入库:
win32: LIBS += -L$$PWD/lib/Zint/lib/ -llibzint

INCLUDEPATH += $$PWD/lib/Zint/include
DEPENDPATH += $$PWD/lib/Zint/include

//cpp文件调用
bool ZintWrapper::encode()
{
    bool isSuccess = false;

    if(isToEncode || zintSymbol == nullptr)
    {
        if(zintSymbol)
            ZBarcode_Delete(zintSymbol);

        zintSymbol = ZBarcode_Create();

        syncOptions();

        errNum = ZBarcode_Encode(zintSymbol , \
                                 (unsigned char*)properties.dataToEnc.data() ,\
                                 properties.dataToEnc.length());
    }

    if(errNum < WARN_INVALID_OPTION)
        isSuccess = true;

    return isSuccess;
}

4. demo地址

https://download.csdn.net/download/zhanghuahuapoi/18581495

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crushFlower

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值