一、瞎想
坐在地鐵上閑來無聊,突然想到了二維碼,順手就百度了下相關的資料,目前C++二維碼相關的庫不多,也就zbar(開源中國上下了半天也沒下載下來)、zxing,不過這兩個庫據說都是解析二維碼的,不能生成二維碼,這個是對于C++而言,如果你是搞C#或者java的,那么恭喜你,你可以直接使用zxing庫來完成生成和解析二維碼,具體參看
C++生成二維碼總結,這篇文章主要是總結了下當前二維碼相關的第三方庫,個人覺著不錯。QZXing是基于qt將zxing進行了封裝
zxing實現二維碼生成和解析,java實現方式
二、二維碼生成工具
這里我給大家介紹一個二維碼生成工具,效果如圖1所示,從圖中就可以看出二維碼的工具名稱。
圖1 二維碼展示
關于二維碼中間的圖片,其實是貼上去的,因為二維碼有容錯能力,因此添加一張小的圖片不影響解析效果。如圖2所示,從安裝文件來看這個開源的工具其實也是使用了zxing庫來生產和解析二維碼,這個和文章前面的描述有出入。具體zxing到底能否生產二維碼個人沒有經過驗證,本片文章旨在講述各個庫的編譯過程,因此對這個問題不做結論
圖2 安裝文件列表
三、QZXing編譯
QZXing是基于qt將zxing進行了封裝,那么此小節(jié)我就直接講述QZXing的編譯過程。
首先從SourceForge.net上下載QZXZing源碼,并解壓
使用qmake命令將pro文件轉化為sln(1、qmake QZXing.pro 2、qmake -tp v -r)
使用vs打開sln文件進行編譯,最終生成相關的dll、lib和pdb文件,如圖3所示,我只展示了release下生成的文件