一个轻量级的 C++ 控制台程序,用于生成二维码图片。
- 纯 C++ 编写: 基于 C++17 标准。
- 零依赖: 静态编译后生成单一可执行文件,无需安装额外 DLL。
- 命令行工具: 易于通过脚本或批处理文件调用。
- 自动命名: 生成的文件名包含精确到秒的时间戳,防止重名覆盖。
- 灵活路径: 支持自定义输出文件的保存目录(支持绝对路径和相对路径)。
-i <text>: (必须) 指定要编码生成的二维码文字内容。-f <path>: (可选) 指定生成的 PNG 图片保存的文件夹路径。如果未指定,默认保存在程序所在目录。
1. 最简单的用法 在当前目录下生成包含文字 "Hello World" 的二维码:
qrmaker.exe -i "Hello World"输出: .\QR_20260122143000.png
2. 指定输出目录
将图片保存到 D:\Images 目录:
qrmaker.exe -i "这是一个测试" -f "D:\Images"3. 使用相对路径
将图片保存到当前目录下的 output 文件夹(需确保文件夹存在):
qrmaker.exe -i "123456" -f "output"本项目使用 MinGW-w64 (g++) 进行编译。为了确保程序在其他未安装开发环境的 Windows 电脑上也能运行,建议使用静态链接。
编译命令:
g++ -static -static-libgcc -static-libstdc++ -std=c++17 -o qrmaker.exe main.cpp qrcodegen.cppmain.cpp: 主程序逻辑qrcodegen.cpp: 二维码生成算法实现
本项目使用了以下优秀的开源库(已包含在源码中):
- QR Code generator (by Project Nayuki)
- 用于生成二维码矩阵数据。
- stb_image_write.h (by Sean Barrett)
- 用于将像素数据保存为 PNG 图片文件。
MIT License