一个奇怪的问题

fsht 2005-01-24 10:11:17
d:\microsoft visual studio\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition
......(若干行winsock2.h)
d:\microsoft visual studio\vc98\include\ios.h(146) : error C2872: 'streambuf' : ambiguous symbol
d:\microsoft visual studio\vc98\include\ios.h(159) : error C2872: 'ostream' : ambiguous symbol
......(若干行ios.h)
d:\microsoft visual studio\vc98\include\istream.h(67) : error C2872: 'streambuf' : ambiguous symbol
d:\microsoft visual studio\vc98\include\istream.h(74) : error C2872: 'ios' : ambiguous symbol
......(若干行istream的)
d:\microsoft visual studio\vc98\include\istream.h(148) : fatal error C1003: error count exceeds 100; stopping compilation

我用的头文件是#include <iostream>,#include <sstream>,#include <fstream>,并且我找过好像没有用using namespace std;
更加奇怪的是如果我把包含的头文件顺序换一下,
#include "a.h"
#include "b.h"
改为
#include "b.h"
#include "a.h"
竟然没有这些错误(不过有其他的库文件错误,IONA库的错误)
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fsht 2005-01-24
  • 打赏
  • 举报
回复
include /**/ <winsock.h>
include /**/ <winsock2.h>

只能包涵一个!否则就会重定义

这个是ace这个包的问题,我不能修改他啊。
sharkhuang 2005-01-24
  • 打赏
  • 举报
回复
include /**/ <winsock.h>
include /**/ <winsock2.h>

只能包涵一个!否则就会重定义
fsht 2005-01-24
  • 打赏
  • 举报
回复
没有什么特别的编译宏啊
WIN32,_DEBUG,_CONSOLE,_MBCS
老夏Max 2005-01-24
  • 打赏
  • 举报
回复
就这里包含了winsock.h和winsock2.h(下面的**是我的一个工程文件夹)
E:\Work\**\include\ace\config-win32-common.h(445):# include /**/ <winsock.h>
E:\Work\**\include\ace\config-win32-common.h(425):# include /**/ <winsock2.h>
========================================
虽然在一个文件中包含了两个头文件,但是好像不在相连的两行,应该是程序中做了什么宏判断之类的吧,是不是你的程序中对其处理不对?没有看到文件不知道实际情况!
应该查看你的编译宏的定义和使用工程情况吧,主要还是相关的宏定义!
fsht 2005-01-24
  • 打赏
  • 举报
回复
就这里包含了winsock.h和winsock2.h(下面的**是我的一个工程文件夹)
E:\Work\**\include\ace\config-win32-common.h(445):# include /**/ <winsock.h>
E:\Work\**\include\ace\config-win32-common.h(425):# include /**/ <winsock2.h>
bobob 2005-01-24
  • 打赏
  • 举报
回复
所以说头文件的顺序也很重要嘛~
老夏Max 2005-01-24
  • 打赏
  • 举报
回复
是不是你在何处又包含了winsock.h这个头文件?
fsht 2005-01-24
  • 打赏
  • 举报
回复
问题已经解决,
首先是包含顺序,其次是ace版本老
晚上过来结帐。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧