C++ Qt - QTcpSocket - 找不到文件

Posted

技术标签:

【中文标题】C++ Qt - QTcpSocket - 找不到文件【英文标题】:C++ Qt - QTcpSocket - File not found 【发布时间】:2012-11-05 04:03:52 【问题描述】:

我正在使用QtQTcpSocket 创建一个小型聊天客户端/服务器应用程序。

当我编译我的代码时,编译器返回以下错误:

main.cpp:3:22: fatal error: QTcpSocket: No such file or directory

这里指的是#include <QTcpSocket>

这个库在哪里,我该如何安装它?

【问题讨论】:

【参考方案1】:

你需要

QT += network

在您的 .pro 文件中。否则,将不会加载定义这些标头/构建库的模块。

【讨论】:

确实,你是对的。我仍然得到 main.cpp:3:22: fatal error: QTcpSocket: No such file or directory。啊!那很好笑!所以我修改了我的 .pro,保存并在我的终端中运行 qmake -project、qmake 和 make,它把我的 .pro 改回了以前! 如果我在 Qt Creator 中编译就没有这个问题。关闭并重新启动它不会影响此问题。为什么 qmake -project 不接受我的更改? @Bibi541 什么? .pro 文件不会以我听说过的任何方式自动生成。出了点问题 - 您没有忘记保存更改或类似的简单操作吗? 用Qt Creator编译有什么不同? Makefile有没有可能没有更新? @Bibi541 我几乎总是使用 QtCreator,但是当我从命令行编译/运行 qmake 时,我从未见过你刚才描述的内容。我认为运行 qmake 应该 always 生成一个新的 makefile——这就是重点吗? .pro.user 文件也是自动生成的,您不会以某种方式与其中之一混淆吗?【参考方案2】:

当我遇到问题并且文档和马特菲利普斯提出的明显解决方案似乎不起作用时,我会添加以检查所有潜在子项目的 ALL .pro 文件。

就我而言,addind QT *= network 在主 .pro 中不起作用,必须放入实际使用 QTcpSocket 和 QTcpServer 对象的那个。

【讨论】:

以上是关于C++ Qt - QTcpSocket - 找不到文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 QTcpSocket 监听 qt 中的特定端口? [复制]

QTcpServer- QTcpSocket 确认问题

我在 Qt 设计器文件->新建中找不到 C++ 项目

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

QTcpSocket,无法读取传入数据

使用 Qt/C++ 通过 JNI 调用 Java 代码。 FindClass 找不到类