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

11

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

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

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

这是指 #include <QTcpSocket>

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

3个回答

28

你需要

QT += network

如果您不在.pro文件中添加这些头文件,模块中定义/库构建的头文件将不会被加载。


确实,你是对的。我仍然会得到main.cpp:3:22:致命错误:QTcpSocket:没有这样的文件或目录。啊!这很有趣!所以我修改了我的.pro文件,保存后,在终端中运行qmake -project、qmake和make,但它把我的.pro文件改回了之前的状态! - Béatrice Moissinac
如果我在Qt Creator中编译,就不会出现这个问题。关闭并重新启动它不会影响此问题。为什么我的更改未被qmake -project接受? - Béatrice Moissinac
@Bibi541 什么?.pro文件从来没有自动生成过。有些地方不对劲——你是不是忘记保存更改或者出现了一些简单的问题? - Matt Phillips
当我使用Qt Creator编译它时,有什么不同吗?可能会出现Makefile没有更新的情况吗? - Béatrice Moissinac
我之所以在输入命令行,是因为当我使用QtCreator运行时,我的图像无法加载,但手动运行时可以加载。好吧,现在我会使用QtCreator进行编译,如果需要加载图像,我想我会回到stackoverflow并提问 :) - Béatrice Moissinac
显示剩余3条评论

0

当我面对问题时,发现文档和Matt Phillips提出的显而易见的解决方案似乎不起作用。我建议检查所有潜在子项目的.pro文件。

就我而言,在主要的.pro文件中添加QT *= network并不起作用,必须将其放在实际使用QTcpSocket和QTcpServer对象的文件中。


0

CMake

添加到 CMakeList.txt

find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(yourtarget PRIVATE Qt6::Network)

qmake

QT += network

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接