peakzhang 发表于 2007-12-15 23:19:49

奇怪的编译错误

我以前用ACE的库一直正常,这次在用ACe的同时也使用了std库,就出现了如下的问题:
我和同事用的都是ACE的5.4版本,在它的机器上编译没有出现问题,在我的机器上编译时出现了如下的错误。
e:\program files\microsoft visual studio\vc98\include\ace\os_log_msg_attributes.h(47) : error C2872: 'ostream' : ambiguous symbol
e:\program files\microsoft visual studio\vc98\include\ace\log_msg.h(318) : error C2872: 'ostream' : ambiguous symbol
引用他编译的ACE库,错误仍然存在,为了解决这个问题我按他的办法,在自己的机器上重新编译了ACE库,在config.h中增加了以下两行:
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#define ACE_HAS_MFC 1
错误仍然存在,请高手指点一下,谢谢!

peakzhang 发表于 2007-12-15 23:19:59

这次的问题还是自己解决了,因为在同事的机器上编译没有问题,所以确定应该是VC6的问题,尝试用VS 2005(也就是VC8)将ACE库重新编译一下,然后再用VS 2005编译成功,可以运行。虽然我也用VC6有将近10年了。但通过这件事,我建议大家用VS 2005进行开发,不想因为开发工具的问题浪费时间。

peakzhang 发表于 2007-12-15 23:20:04

这个问题我早就碰到了, 如果还用vc6的话,可以尝试把ace库的头文件和C++的头文件换下位置!
页: [1]
查看完整版本: 奇怪的编译错误