Windows 下使用 qrencode
来源:互联网 发布:hg的gp03d石斛兰淘宝 编辑:程序博客网 时间:2024/06/04 23:25
在 Windows 下使用 VS2010 编译生成 qrencode,工作于命令行,读入文字,生成 QR 码的 png 图片。
组成:
qrencode 3.2.0
libpng 1.5.6
zlib 1.2.5
glibc 2.8 中 getopt 等文件
主要困难:
虽然开源二维码QR码编码库 qrencode 以 C 语言编写,
但工程管理及源码中使用 Linux 平台特性(此说法似乎不严谨),如 getopt_long 等;
以开源图形库 libpng 生成 png 图片,且 libpng 又使用开源 zlib 支持数据压缩,却未配上这两个库,似乎假设开发环境中已经安装,但我不想装。
我的工作:
使用 VS2010 创建 General, Empty Project ;
----为 qrencode 部分
将 qrencode 源码(仅 *.h,*.c)加入工程(不含test,use下的测试等部分代码);
在工程属性中定义宏 HAVE_CONFIG_H
将文件 config.h.in 更名为 config.h 加入工程;
根据 VS2010 的特性,修改 config.h 中的部分宏定义,并在文件末尾增加 #undef inline #define inline;
qrenc.c 中
snprintf 函数修改为 _snprintf 函数。
----为 png 部分
另外下载编译生成 libpng15 后(下载 zlib 还_得_翻_墙_),
将文件 png.h,pngconf.h,pnglibconf.h,libpng15.lib,libpng15.dll 加入工程,
将 qrenc.c 中
#include <png.h>
改为
#include "png.h"
#pragma comment( lib, "libpng15.lib" )
----为 getopt 部分
从 glibc 2.8 源码中取出 getopt 等文件,修改后加入工程(详见上一篇博文),
将 qrenc.c 中
#include <getopt.h>
改为
#include "getopt.h"
----其它
将 qrenc.c 中
if(strcasecmp(".png", q) == 0) {
改为
if((strcmp(".png", q) == 0) || (strcmp(".PNG", q) == 0)) {
----注意
运行需要 libpng15.dll 。
而且,libpng15.dll 和 qrencode 需要使用相同模式(Release,Debug);
我的是 Release 模式。
组成:
qrencode 3.2.0
libpng 1.5.6
zlib 1.2.5
glibc 2.8 中 getopt 等文件
主要困难:
虽然开源二维码QR码编码库 qrencode 以 C 语言编写,
但工程管理及源码中使用 Linux 平台特性(此说法似乎不严谨),如 getopt_long 等;
以开源图形库 libpng 生成 png 图片,且 libpng 又使用开源 zlib 支持数据压缩,却未配上这两个库,似乎假设开发环境中已经安装,但我不想装。
我的工作:
使用 VS2010 创建 General, Empty Project ;
----为 qrencode 部分
将 qrencode 源码(仅 *.h,*.c)加入工程(不含test,use下的测试等部分代码);
在工程属性中定义宏 HAVE_CONFIG_H
将文件 config.h.in 更名为 config.h 加入工程;
根据 VS2010 的特性,修改 config.h 中的部分宏定义,并在文件末尾增加 #undef inline #define inline;
qrenc.c 中
snprintf 函数修改为 _snprintf 函数。
----为 png 部分
另外下载编译生成 libpng15 后(下载 zlib 还_得_翻_墙_),
将文件 png.h,pngconf.h,pnglibconf.h,libpng15.lib,libpng15.dll 加入工程,
将 qrenc.c 中
#include <png.h>
改为
#include "png.h"
#pragma comment( lib, "libpng15.lib" )
----为 getopt 部分
从 glibc 2.8 源码中取出 getopt 等文件,修改后加入工程(详见上一篇博文),
将 qrenc.c 中
#include <getopt.h>
改为
#include "getopt.h"
----其它
将 qrenc.c 中
if(strcasecmp(".png", q) == 0) {
改为
if((strcmp(".png", q) == 0) || (strcmp(".PNG", q) == 0)) {
----注意
运行需要 libpng15.dll 。
而且,libpng15.dll 和 qrencode 需要使用相同模式(Release,Debug);
我的是 Release 模式。
0 0
- Windows 下使用 qrencode
- 在 WINDOWS 下使用 VS2010 编译QRENCODE为lib
- 关于qrencode的使用
- 使用qrencode库生成二维码
- QrenCode : 命令行下生成二维码图片
- QrenCode:命令行下生成二维码图片
- Linux下二维码生成工具:QRencode
- Linux下二维码生成工具:QRencode
- ucgui emwin使用qrencode显示二维码
- qrencode二维码生成在linux下的编译
- qrencode二维码生成在linux下的编译(转)
- C#下利用移植的qrencode生成二维码
- Windows下使用gVim
- windows下glib使用
- windows下使用taglist
- windows 下使用QT,
- Windows下使用gvim
- Windows下curl使用
- linux telnet 之 telnet: Unable to connect to remote host: Connection refused
- linux下TCP/socket编程实例
- 判断三极管是否可以放大交流信号的方法
- 发现数据库查询表空间使用率语句执行的很慢
- leetcode| Happy Number
- Windows 下使用 qrencode
- 浅谈java基本类型的封装类型与对象池的概念
- Android.mk的用法和基础
- android-数据持久化之SQlite数据库存储
- JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
- VS2010中如何添加“依赖”、“库目录”、“包含目录‘’
- Android中基于HTTP的通信技术(5)Google开源库 使用 Volley 实现 JSON 字符串请求
- Servlet虚拟路径映射
- redhat 安装gcc