如何 use/include QtNetwork 模块

How to use/include the QtNetwork Module

我正在尝试用 C++ 开发一个简单的应用程序,它通过 LAN 在两台计算机之间发送文件。经过一些研究,我发现 QtNetwork 模块是可行的方法。我确实在我的解决方案中包含了 QTcpServer 和 QTcpSocket。

#include <QTcpServer>
#include <QTcpSocket>

我在项目的附加包含目录中添加了以下路径。

C:\Qt.14.2\msvc2017_64\include\QtNetwork

然后我尝试了一个非常简单的代码。

QTcpSocket* pTcpSocket = new QTcpSocket();

我收到 "unresolved external symbol" 错误,这意味着函数已声明但未定义。 QtNetwork 模块的链接或构建似乎有问题。在 Qt 网站上,我发现应该添加以下行

QT += network

因为我没有使用 cmake 或 qmake 的经验,所以我不确定在哪里添加这一行

任何人都可以推荐一个简单的例子或解释如何正确使用模块吗?

QT += network 必须包含在 pro 文件中.. 或者如果您已经有其他模块,则只需附加它..

例子

##################################################
#     MY_APP_GUI                           #
##################################################
QT       += core gui network concurrent
CONFIG   += c++14
..

之后再 运行 qmake 就可以开始了! :)

更新

因此,如果有人在 visual studio 中使用过 qt 并且想要将 Qt 网络模块或任何其他 Qt 模块添加到 Vs 项目中,您只需将 Qt 库的路径添加到您的附加库中目录。在我的案例中是

C:\Qt.14.2\msvc2017_64\lib

在 C/C++-> General 下,在本例中将路径添加到模块的 Header

C:\Qt.14.2\msvc2017_64\include\QtNetwork

在 Linker -->Input 下为 Debug Mode 添加 QtNetworkd.lib,为 Release 添加 QtNetwork.lib。

最后从 C:\Qt.14.2\msvc2017_64\bin 复制 QtNetworkd.dll 和 QtNetwork.dll 并将它们分别添加到 x64/Debug 和 x64/release 下的项目中。