最近在玩QT,经常会报一些第一眼看不懂在讲啥的错误。总结了一下。
报错一:
C1057:宏扩展中遇到意外的文件结束
双击找到报错的那行,一般是括号不匹配。
看网上资料说,也可能是编码问题,可以改成UTF-8,待验证。我遇到的就是括号问题。
报错二:
LNK2019:无法解析的外部符号
如果之前已经运行过项目,然后修改了一部分东西又运行,可能代码没错,但是会报这个错误。解决方法是找到项目的目录,把生成的debug文件夹整个删掉,再运行项目,就好了。
如果还是会报这个错误,那代码就存在问题。有个可能是有需要的库没有加进去。我这个是做udp下的聊天室,项目文件(.pro文件)里需要在最后加上一句:QT+=network
然后就没问题了。我装的是QT4,听说QT5不存在这个问题,待验证。
缺什么库就补什么库名。格式是QT+=库名
报错三:(7.26更新)
C2146:缺少“)”在标识符“ui”的前面
实际上那句语法没有问题。代码是我从网上 copy的。我把报错的那行代码一模一样地重新输入,这个问题就解决了。
报错四:
C3861:“sleep”:找不到标识符
sleep函数作用是执行挂起一段时间。在linux中用gcc编译可以直接使用,g++编译需要添加头文件:
#include <unistd.h>
在 windows中,如果用VC编译器,sleep需要写为Sleep(S大写),并且添加头文件:
#include <Windows.h>
其他编译器sleep还是小写。
碰到新的继续更新。
PS:如果有什么地方说得不对欢迎评论指正^ ^ 谢谢哦~