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