vs+qt error: LNK2019/2001: 无法解析的外部符号 解决办法
环境:vs2013+qt5.6
今天在vs上搭建tcp服务器遇到了这个蛋疼的问题,真的很蛋疼。这个问题其实前几天就遇到了,但是当时是用了别的方法暂时规避了过去,今天花了一个上午总算是搞明白了。
先描述一下当时的情况:首先我写了一个TcpServer类,然后用到了"QTcpServer"这个库。在类的.h里,我在做函数的实现的时候,用到了"QTcpServer"里的一些参数,这样可以编译成功,但是一把实现放到.cpp里,就会出现“无法解析的外部符号”这个问题。
在网上找了很多解决办法,最后才发现问题所在:**没有给项目添加相应的.lib文件。**这种情况就类似于,你在qt上用到"QTcpServer"这个类的时候,需要手动在.pro文件的"QT += "后面 “+network”。
所以解决办法如下:
1.选中当前项目右键->属性->链接器->输入->附加依赖项,添加你所需要依赖的库。例如我就添加了"QT5Network.lib"。
2.另外还有一点,当你在.h中声明slot函数但是又没有在.cpp里实现的时候,也会出现这个错误。
参考:https://blog.youkuaiyun.com/qq_37764129/article/details/81182026