VS2015 + QT5.12 使用 Serial Port 时报错"error LNK2001: 无法解析的外部符号"

找了很久原因,看到 @a410685489 和 @zhangruijerry 在文章[https://blog.csdn.net/qq61394323/article/details/43446977] 下面的回复,我实验了一下,发现问题确实就是QT Modules 没有调用成功导致的

按QT的文档说,需要在.pro文件里加上“QT += serialport”,而我们使用VS + QT add-in 无法添加这句程序(我试过在VS中添加.pro文件,然后在里面加上“QT += serialport” ,依然没用,如果有其他办法,欢迎交流),结果就是在编译时报错:

1>moc_QSerial.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl QSerialPort::metaObject(void)const " (?metaObject@QSerialPort@@UEBAPEBUQMetaObject@@XZ)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl QSerialPort::metaObject(void)const " (?metaObject@QSerialPort@@UEBAPEBUQMetaObject@@XZ)
1>QSerial.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl QSerialPort::metaObject(void)const " (?metaObject@QSerialPort@@UEBAPEBUQMetaObject@@XZ)
1>moc_QSerial.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl QSerialPort::qt_metacast(char const *)" (?qt_metacast@QSerialPort@@UEAAPEAXPEBD@Z)

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

等等很多“error LNK2001: 无法解析的外部符号”报错,那么我参考楼上的回复测试可行的解决方案,我这里详细写一下说明步骤:
1.右键项目名称:选择QT Project Settings
在这里插入图片描述
2.在弹出的对话框中的QT Modules 选项页面中,将Serial Port 给勾选上,此时可以编译通过:
在这里插入图片描述

	1>------ 已启动生成: 项目: QSerial, 配置: Debug x64 ------
	1>  Moc'ing QSerial.h...
	1>  moc_QSerial.cpp
	1>  main.cpp
	1>  QSerial.cpp
	1>  qrc_QSerial.cpp
	1>  QSerial.vcxproj -> C:\Users\Administrator\Documents\Visual Studio 2015\Projects\QTConsoleApp\QSerial\x64\Debug\QSerial.exe
	1>  QSerial.vcxproj -> C:\Users\Administrator\Documents\Visual Studio 2015\Projects\QTConsoleApp\QSerial\x64\Debug\QSerial.pdb (Full PDB)
	
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

编译通过,以上

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值