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库的错误)
......(若干行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库的错误)
解决方案 »
- MFC 界面 视图效果
- 重写CTreeView 类如何改变CTreeCtrl根节点的位置
- 代码怎么写才可以让工具条的其中指定的按扭变灰色,按扭没有作用呢?
- 如何hook Server2008的注销命令? 急!!
- 我是菜鸟希望各位高手援助--如果进行延时?
- 有这样的内存文件吗?
- 哪里有wmf文件格式,如何在自己的程序中画WMF文件???
- 现在是0:51,有谁还没睡的进来报名,有分啊?
- 在用MFC编写自己的嗅探器时,出现afx.inl错误,网上给出的方法都试过了,还是不行,跪求大神指教,急,在线等~
- 关于在MM_TEXT映射下的坐标变换问题??
- ado中PutRefActiveConnection函数有什么作用啊?
- 一个奇怪的问题
E:\Work\**\include\ace\config-win32-common.h(445):# include /**/ <winsock.h>
E:\Work\**\include\ace\config-win32-common.h(425):# include /**/ <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>
========================================
虽然在一个文件中包含了两个头文件,但是好像不在相连的两行,应该是程序中做了什么宏判断之类的吧,是不是你的程序中对其处理不对?没有看到文件不知道实际情况!
应该查看你的编译宏的定义和使用工程情况吧,主要还是相关的宏定义!
WIN32,_DEBUG,_CONSOLE,_MBCS
include /**/ <winsock2.h>只能包涵一个!否则就会重定义
include /**/ <winsock2.h>只能包涵一个!否则就会重定义这个是ace这个包的问题,我不能修改他啊。
首先是包含顺序,其次是ace版本老
晚上过来结帐。