首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >include<QtNetwork>上的C链接和声明错误

include<QtNetwork>上的C链接和声明错误
EN

Stack Overflow用户
提问于 2012-11-27 02:52:31
回答 1查看 547关注 0票数 0

我有一个奇怪的问题,当我在Qt桌面应用程序中包含从QtNetwork模块到Qt Desktop应用程序中的任何内容时,甚至在使用所包含的任何内容之前,我都会收到一堆错误。例如,如果我包含QtNetwork/QHostAddress,我会得到以下错误:

代码语言:javascript
复制
..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qabstractsocket.h:66: error: template with C linkage

..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qabstractsocket.h:253: error: declaration of C function 'QDebug operator<<(QDebug, QAbstractSocket::SocketState)' conflicts with

..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qabstractsocket.h:252: error: previous declaration 'QDebug operator<<(QDebug, QAbstractSocket::SocketError)' here


..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qhostaddress.h:141: error: declaration of C function 'QDebug operator<<(QDebug, const QHostAddress&)' conflicts with

..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qabstractsocket.h:253: error: previous declaration 'QDebug operator<<(QDebug, QAbstractSocket::SocketState)' here

..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qhostaddress.h:148: error: declaration of C function 'QDataStream& operator<<(QDataStream&, const QHostAddress&)' conflicts with

..\..\QtSDK\Desktop\Qt\4.8.1\mingw\include/QtNetwork/qhostaddress.h:141: error: previous declaration 'QDebug operator<<(QDebug, const QHostAddress&)' here

当然,我添加了这一行

代码语言:javascript
复制
Qt += network

添加到我的.pro文件中,所以这不可能是问题所在。可以包含另一个模块(opengl)而不会出现问题。

我已经通过创建一个只包含QtNetwork的虚拟项目来确保我的Qt安装本身没有任何问题。它工作得很好。

所以,我的项目肯定出了什么问题,但由于错误消息只出现在这种特殊情况下,我不知道该为您提供什么信息。

我所能说的是,这个程序以前是纯C代码,现在正在使用Qt更改为C++,所以它仍然是一个混合体。但只要不包含QtNetwork,这似乎就不是问题。

关于如何解决这个问题,或者什么信息与这个问题相关,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-15 19:49:51

我终于解决了我的问题。解决方案非常简单:

我将QTNetwork包含在一个头文件中,而我的团队成员又将它包含在其他一些.cpp文件中,但是他错误地将include语句放在了外部的"C“块中,所以最终QTNetwork被包含为外部的"C”,尽管它是C++。

因此,我们学到了两个教训:

  1. 不要依赖团队成员代码的正确性。
  2. 如果include导致错误,请跟踪整个include链以跟踪问题。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13571229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档