QZXing下载编译及使用

本文介绍了一个基于Qt的二维码识别库QZXing的使用经历,包括下载源码、编译过程中遇到的问题及解决办法。作者分享了如何避免编译错误,特别是与QString::toUtf8()相关的错误,以及正确选择编译器的重要性。
摘要由CSDN通过智能技术生成

QZxing 是对 zxing 的一个封装,用于在 Qt 程序中加入条形码和二维码识别的功能。目前想使用QZXing来实现一个二维码生成器及二维码识别功能。
QZXing 的代码是放到github上。下载地址:http://https://github.com/ftylitak/qzxing/
下载好后直接打开pro文件。

我使用的QTDesigner是5.9.5.

直接编译报错如下: 

QREncoder.obj:-1: error: LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QByteArray __cdecl QString::toUtf8(void)const & " (__imp_?toUtf8@QString@@QEGBA?AVQByteArray@@XZ),该符号在函数 "protected: static void __cdecl zxing::qrcode::Encoder::append8BitBytes(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,class zxing::BitArray &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?append8BitBytes@Encoder@qrcode@zxing@@KAXAEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAVBitArray@3@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@@Z) 中被引用

搜索toUtf8后发现引用有2个,屏蔽掉QREncoder中的toUtf8后确实编译通过了。但 toUtf8本身只是QString的一个函数,不知道为什么会报错。下面贴出问题代码部分。

后面尝试换了QT5.6.0的版本,直接识别不到编译器,并不可设置。

最终还是使用qt5.9.5,但是在config项目的时候,选择了机器上安装的VS2017,成功编译了,没有错误。之前出错的时候选择的编译器是VS2013!!!(Tips : 注意项目配置中编译器的选择)

祝各位顺利避坑~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值