Zint的使用
最近在做linux下的条形码和二维码的实验,苦苦寻觅终于找到了Zint库。
当前所知的情报
Zint版本使用说明:zint-2.8.0
Linux版本:Ubuntu1204
参考链接
自己的总结
安装Cmake
前提:需要安装Cmake
Cmake安装命令
apt-get install cmake
Zint的安装
安装流程指令
//1.进入Zint
root@gzsd-virtual-machine:~/桌面# cd zint-2.8.0
//2.创建build
root@gzsd-virtual-machine:~/桌面/zint-2.8.0# mkdir build
//3.进入build
root@gzsd-virtual-machine:~/桌面/zint-2.8.0# cd build
//4.Cmake ..
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# cmake ..
//5.编译
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# make
//6.安装
root@gzsd-virtual-machine:~/桌面/zint-2.8.0/build# make install
测试Demo
#include <stdio.h>
#include "zint.h"
#include <iostream>
#include <cstring>
using namespace std;
int Test_scale();
int EncodingAndSavingToFile();
int CreateAndDeleteSymbol();
int main(int argc, char *argv[]) {
Test_scale();
//CreateAndDeleteSymbol();
//EncodingAndSavingToFile();
}
int CreateAndDeleteSymbol()
{
struct zint_symbol *my_symbol;
my_symbol = ZBarcode_Create();
if (my_symbol != NULL)
{
printf("Symbol successfully created!\n");
}
ZBarcode_Delete(my_symbol);
return 0;
}
int Test_scale()
{
struct zint_symbol *my_symbol;
my_symbol = ZBarcode_Create();
my_symbol->symbology = BARCODE_QRCODE;
my_symbol->scale = 10;
strcpy(my_symbol->outfile, "Test_scale.bmp");
string encode_data("Test_scale");
int error_num = ZBarcode_Encode(my_symbol, (unsigned char*)encode_data.c_str(), 0);
error_num = ZBarcode_Print(my_symbol, 0);
ZBarcode_Delete(my_symbol);
return 0;
}
int EncodingAndSavingToFile()
{
struct zint_symbol *my_symbol;
my_symbol = ZBarcode_Create();
// Set output file name
strcpy(my_symbol->outfile, "output.bmp");
// Set encode data
string encode_data("hello world");
ZBarcode_Encode(my_symbol, (unsigned char*)encode_data.c_str(), 0);
int error_num = ZBarcode_Print(my_symbol, 0);
if (error_num != 0)
{
/* some error occurred */
printf("%s\n", my_symbol->errtxt);
}
ZBarcode_Delete(my_symbol);
return 0;
}
编译命令
前提:共享库设置
echo "/usr/local/lib" >> /etc/ld.so.conf
/sbin/ldconfig
编译
g++ -o demo demo.cpp -lzint
生产的二维码和条形码