VS安装 + Qt安装 :按照官方提示的步骤就可以了。
下载安装结束后
1,打开VS——扩展——管理扩展——搜索Qt Visual Studio Tools——安装
2,扩展——Qt VS Tools——Qt Project settings——Qt Modules——select Modules——勾选Serial Port 模块
在这里简要解释一下第二步的原因:
我用QtSerialPort类的时候,第一次出现很多乱码,类似
main.obj : error LNK2019:
无法解析的外部符号 "__declspec(dllimport) public: __thiscall QSerialPortInfo::QSerialPortInfo(class QSerialPortInfo const &)"
(__imp_??0QSerialPortInfo@@QAE@ABV0@@Z),该符号在函数 "private: void __thiscall QList<class QSerialPortInfo>::node_copy(struct QList<class QSerialPortInfo>::Node *,struct QList<class QSerialPortInfo>::Node *,struct QList<class QSerialPortInfo>::Node *)"
(?node_copy@?$QList@VQSerialPortInfo@@@@AAEXPAUNode@1@00@Z) 中被引用
然后我搜原因看到在依赖项中添加Qt5SerialPort.lib的方法,试了结果是无法识别该文件。
最后发现是Qt VS Tools根本就没勾选Serial Port才识别不了。注意一下这个就好。May be 将QtSerialPort的lib文件全部包含进依赖项也可以运行吧,我懒得试了。
下面附上我测试环境搭建的测试代码
#include "serial_port.h"
#include<QtSerialPort/qserialportinfo.h>
serial_port::serial_port(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
QList<QSerialPortInfo> serialList;
//给链表赋值为获取到的当前设备的所有串口信息的链表
serialList = QSerialPortInfo::availablePorts();
//判断有无可连接串口
if (serialList.isEmpty())
{
ui.label->setText("empty");
}
}
因为我没有下位机,也没有连接串口应用,所以显示无可用串口。
使用VSPD工具创建了虚拟串口,COM1和COM2,下面是用了串口之后的显示。
代码只是改了一点点
if (serialList.isEmpty())
{
ui.label->setText("empty");
}
else
{
ui.label->setText(serialList[1].portName());
}
如果设成0的话就是COM2了。