【问题标题】:How to use/include the QtNetwork Module如何使用/包含 QtNetwork 模块
【发布时间】:2020-09-29 15:31:09
【问题描述】:

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

#include <QTcpServer>
#include <QTcpSocket>

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

C:\Qt\5.14.2\msvc2017_64\include\QtNetwork

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

QTcpSocket* pTcpSocket = new QTcpSocket();

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

QT += network

由于我没有使用 cmake 或 qmake 的经验,我不确定在哪里添加此行

谁能推荐一个简单的例子或解释如何正确使用模块?

【问题讨论】:

  • 您必须在 .pro 文件中添加这一行,然后重新运行 qmake :)

标签: c++ qt network-programming qtnetwork


【解决方案1】:

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

例子

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

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

【讨论】:

  • 感谢您的回答。由于我是 qmake 新手,我不确定在哪里可以找到 pro 文件。是在Qt路径下吗??
  • 我的项目是 Visual Studio 2017 中的 c++ 项目。在我的项目路径下找不到 pro 文件。
【解决方案2】:

更新

因此,如果有人曾经在 Visual Studio 中使用 qt,并且想要将 Qt 网络模块或任何其他 Qt 模块添加到 Vs 项目中,您只需将 Qt 库的路径添加到您的附加库目录中。在我的情况下是

C:\Qt\5.14.2\msvc2017_64\lib

在C/C++下->一般在这种情况下将Path添加到Module的Header中

C:\Qt\5.14.2\msvc2017_64\include\QtNetwork

在链接器下 --> 输入添加 QtNetworkd.lib 用于调试模式和 QtNetwork.lib 用于发布。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2021-11-28
    • 1970-01-01
    • 2019-12-06
    • 2018-10-14
    相关资源
    最近更新 更多