一、瞎想  

  坐在地铁上闲来无聊,突然想到了二维码,顺手就百度了下相关的资料,目前C++二维码相关的库不多,也就zbar(开源中国上下了半天也没下载下来)、zxing,不过这两个库据说都是解析二维码的,不能生成二维码,这个是对于C++而言,如果你是搞C#或者java的,那么恭喜你,你可以直接使用zxing库来完成生成和解析二维码,具体参看

  • C++生成二维码总结,这篇文章主要是总结了下当前二维码相关的第三方库,个人觉着不错。QZXing是基于qt将zxing进行了封装
  • zxing实现二维码生成和解析,java实现方式

二、二维码生成工具

  这里我给大家介绍一个二维码生成工具,效果如图1所示,从图中就可以看出二维码的工具名称。

图1 二维码展示

关于二维码中间的图片,其实是贴上去的,因为二维码有容错能力,因此添加一张小的图片不影响解析效果。如图2所示,从安装文件来看这个开源的工具其实也是使用了zxing库来生产和解析二维码,这个和文章前面的描述有出入。具体zxing到底能否生产二维码个人没有经过验证,本片文章旨在讲述各个库的编译过程,因此对这个问题不做结论

图2 安装文件列表

三、QZXing编译

  QZXing是基于qt将zxing进行了封装,那么此小节我就直接讲述QZXing的编译过程。

  1. 首先从SourceForge.net上下载QZXZing源码,并解压
  2. 使用qmake命令将pro文件转化为sln(1、qmake QZXing.pro  2、qmake -tp v -r)
  3. 使用vs打开sln文件进行编译,最终生成相关的dll、lib和pdb文件,如图3所示,我只展示了release下生成的文件

图3 QZXing编译结果

四、qrencode-3.1.0编译

  C++下基于qrencode可以进行生成二维码,我是参考了几篇文章进行编译,文章列表如下:

  VS2010 编译完整 libqrencode 细节

  vc2010 编译 qrencode

  上述两篇文章都是讲述的自建vs工程来编译qrencode源码,但是细节有所差别,其中主要是qrenc.c文件是否添加到工程,如下编译步骤是我按照这两篇文章的理解所实践出来的编译步骤

  编译步骤:

  1. 从github上下载qrencode源码并解压
  2. 新建win32工程,并设置工程为lib库,不使用预编译头文件
  3. 把qrencode直接目录下的所有.h和.c(除过qrenc.c)文件添加到该工程,其中将config.h.in改为config.h,并修改rscode.c源码,modnn函数去掉inline关键字
  4. 修改qrspec.c文件,将strdup替换为_strdup,这是两两篇文章中都没有提到的,我是根据错误提示找到了解决办法,参看The posix name for this item is deprecated in VC++ 2008
  5. 编译结果如图4所示

图4 qrencode编译结果

五、ZBar Code

  这个库可以上SourceForge.net直接下载,包含dll和lib文件,我下载后的解压文件如图5

图5 zbar库

六、使用

  这几个库的使用都比较简单,我在这里就给出几个个人觉得靠谱的使用链接

  1. libqr--简单好用的c++二维码生成库 :libqr使用

  2. 使用QZXing识别图片二维码 :QZXing使用
  3. QR code二维码简介及Qrencode库的移植与使用 :qrendcode使用

七、相关链接

  strdup 和 _strdup 的使用及区别

注:关于使用后续有时间我会补充一个小示例

转载于:https://www.cnblogs.com/swarmbees/p/6146206.html

C++二维码相关库编译相关推荐

  1. Linux zbar二维码识别库编译

    ZBar是一个开源软件套件,用于从各种来源读取条形码,例如视频流,图像文件和原始强度传感器.它支持许多流行的符号体系 (条形码的类型),包括EAN-13 / UPC-A,UPC-E,EAN-8,Cod ...

  2. Data Matrix 二维码解码库 libdmtx 编译方法

    Data Matrix 二维码解码库 libdmtx 编译方法 libdmtx 是一个开源的 Data Matrix 编解码库.项目主页在:https://github.com/dmtx 这里简单记录 ...

  3. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  4. zbar--对zbar开源二维码解码库的分析

    前言 鉴于网上对zbar这一开源二维码解码库的中文文档较少,刚好做了点这个库的调用,写了点分析笔记,如果有错,望指出批评. 正题 源码内容较多,还多涉及图像算法的内容,于是从其头文件的各注释和函数分析 ...

  5. libqr--简单好用的c++二维码生成库

    libqr简介 libqr是github上开源的二维码生成库,地址:https://github.com/rsky/qrcode.使用c语言写成,但是用在c++代码里面毫无违和感,api简单好用,自带 ...

  6. Visual Studio中使用开源二维码QR库libqr

    分享一个轻巧的开源二维码QR库libqr,源码可以从GitHub上下载.下面我们详细说明一下如何在Visual Studio中编译使用. 1. 源码下载 地址:https://github.com/r ...

  7. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api.   Zxing是Google提供的关于条码 ...

  8. 推荐一个开源的 .NET 二维码生成库

    你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 介绍 QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组 ...

  9. QRCode二维码相关资料

    QRCode二维码相关资料 链接:https://pan.baidu.com/s/1GBphCLeiz4u4cv-668d-FA 提取码:gcep

最新文章

  1. 自定义Scrollview--实现仿淘宝Toolbar透明度渐变效果
  2. Shell脚本基本命令4
  3. 【转】linux su和sudo命令的区别——百度知道
  4. Property #39;sqlSessionFactory#39; or #39;sqlSessionTemplate#39; are required
  5. mybatis新增返回主键值
  6. TypeScript + React 学习render props
  7. Struts2中的值栈
  8. 芒果 TV Redis 服务解决方案
  9. BootLoad中上位机与下位机交互
  10. PS基础操作及常用快捷键
  11. 上位机控制PWM占空比
  12. 论文投稿排版时,Word首页插入连续分节符,后面的内容自动到下一页
  13. python脚本运行越来越慢
  14. 解决阿里云ESC启动kube-proxy服务时出现错误 亲测有效
  15. OCAD应用:双高斯照相物镜系统结构优化设计
  16. SO-Net:点云分析的自组织网络
  17. linux 应用层gpio中断_linux下GPIO中断驱动US100传感器--Apple的学习笔记
  18. Textstudio 应用程序无法正常启动0xc000007b
  19. SQL create file遇到操作系统错误5拒绝访问
  20. 【html】关于doctype

热门文章

  1. 我知道你会用Jupyter Notebook,但这些插件你都会了吗?
  2. c#利用三层架构做一个简单的登录窗体
  3. 最详细的CISCO路由器配置命令及方法
  4. Windows 10如何禁用Microsoft Edge标签页预览
  5. 【Java】Java_05 标识符与字符集
  6. jquery总结06-动画事件02-上卷下拉动画
  7. Hadoop入门连接
  8. Android源码分析(三):Mms模块总结(一)
  9. Visual C#使用DirectX实现视频播放
  10. 测试时代诚聘软件测试讲师,欢迎有志之士加入!!职位要求: