zoukankan      html  css  js  c++  java
  • 【学习笔记】cpp 二维码条形码生成库

    主机环境,vs2015update3,win10 2004 x64

    libqrencode

    1.首先下载源码

    git或者直接浏览器下载都可

    2.使用cmake编译

    原来打算用vcpkg了,有个文件一直无法下载下来最后还是用cmake了

    • cmake gui界面中配置,源路径和build路径,勾选Advanced
    • 主要配置的是libpng、zlib、getopt的,如果不需要保存为png,下面这些不用配置;
      libpng和zlib为预先编译好的,怎么编译网上应该很多。

    • Configure按钮,再Generate,在Open Project

    3.vs2015编译

    • 修改预处理器定义 HAVE_STRDUP=0
    • 修改strdup函数为 mystdup,此函数定义与string库函数冲突,必须修改
      vs中编译,出现错误
      1>libpng.lib(pngerror.obj) : error LNK2001: 无法解析的外部符号 ___iob_func
      1>getopt.lib(getopt.obj) : error LNK2001: 无法解析的外部符号 __imp____iob_func
      这是因为,这2个库可能不是vs2015编译的,时间久远忘记了

    参考:https://blog.csdn.net/10km/article/details/50528908

    #if _MSC_VER>=1900
    #include "stdio.h" 
    _ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned);
    #ifdef __cplusplus 
    extern "C"
    #endif 
    FILE* __cdecl __iob_func(unsigned i) {
    	return __acrt_iob_func(i);
    }
    #endif /* _MSC_VER>=1900 */
    

    这段代码添加到,qrenc.c文件最前,重新编译,都成功了

    4. 测试

    cmd,qrencode.exe,

    可以生成png图片,库应该没有问题了
    生成二维码没有问题了,还需要生成条形码

    zint库

    zint支持二维码和条形码生成,比libqrencode功能更多,且libqrencode是LGPL协议,修改或者基于其的都要开源,所以选用zint库

    1.

  • 相关阅读:
    生成二维码
    IIS与Apache同时使用80端口
    C# 时间类型
    EXT 省市三级联动及默认选择
    拼音首字母查询汉字内容
    web.config
    使用input=file上传
    Js 扩展
    Linux 调试错误
    图的最短路径Dijkstra
  • 原文地址:https://www.cnblogs.com/nightnine/p/13129245.html
Copyright © 2011-2022 走看看