Windows环境编译和使用qrencode
Libqrencode是一个快速而紧凑的库,用于编码QR Code符号中的数据,QR Code符号是一种2D符号,可以由手持终端(如带有CCD的手机)扫描。二维码的容量最高可达7000位或4000个字符,具有很强的鲁棒性。
Libqrencode接受字符串或数据块列表,然后将QR Code符号编码为位图数组。当其他QR Code应用程序生成图像文件时,使用libqrencode允许应用程序直接从原始位图数据呈现QR Code符号。此库还包含一个命令行实用程序,用于输出各种格式的二维码图像。
本文将介绍在Windows环境编译和使用qrencode。
一、cmake编译qrencode源码
下载libqrencode源码
下载地址:https://fukuchi.org/works/qrencode/
解压源码并建立build文件夹

编译静态库(.lib)
1、打开cmake-gui

2、选择源码目录

3、选择build目录

4、Configure

首次Configure会提示错误:

点击OK后,取消勾选WITH_TOOLS,不进行tools编译

重新Configure

5、Generate

cmake编译完成后,在build目录下生成Visual Studio的工程文件

6、双击QRencode.sln,打开VS工程


7、Release编译

在”解决方案任务管理器“选择ALL_BUILD生成

编译完成后在build\Release目录下可以找到生成的lib库


编译动态库(.dll)
编译动态库的流程和编译动态库时一样,只是在cmake Configure的时候勾选BUILD_SHARED_LIBS选项,最终就可以生成dll了。

最终生成的动态库:

二、使用Visual Studio调用libqrencode生成二维码
新建一个VS控制台新项目qrtest
建立项目后建立demo.cpp作为主程序文件,拷贝qrencode.h到工程目录,配置依赖qrencode.lib。
代码
#include "qrencode.h"
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef signed long LONG;
#define BI_RGB 0L
#pragma pack(push, 2)
typedef struct
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
typedef struct
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWOR

本文介绍了如何在Windows上利用CMake编译libqrencode库,包括创建静态库和动态库,并展示了在Visual Studio中创建新项目调用libqrencode生成二维码的步骤。
最低0.47元/天 解锁文章

925





