不知道有沒有人遇到過,我在VC6.0+STLPORT-4.6.2的環(huán)境下編譯ACE version 5.4.3的Release版本,編譯器報內(nèi)部錯誤C1001: INTERNAL COMPILER ERROR。后來在google上找了些國外的論壇,大概都是說是預(yù)編譯頭的問題,后來摸索了下搞定了。
在編譯的時候出現(xiàn)如下錯誤提示:
Message_Block.cpp
E:MYPERSONALSTLPORT-4.6.2STLPORTstl/type_traits.h(68) : fatal error
C1001: INTERNAL COMPILER ERROR
(compiler file ''msc1.cpp'', line 1794)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
這顯然是編譯器出了問題。然而在編譯Debug版本卻不會出現(xiàn),說明Debug與Release版的頭文件組織的結(jié)構(gòu)不一樣,經(jīng)過反復(fù)琢磨發(fā)現(xiàn)如下解決辦法。
打開ACE_wrappersace目錄下的Message_Block.cpp文件:
?

#include?"ace/Log_Msg.h"
#include?"ace/Malloc_Base.h"
#include?"ace/Guard_T.h"
#include?"ace/OS_NS_string.h"

//#define?ACE_ENABLE_TIMEPROBES
#include?"ace/Timeprobe.h"
把包含的Log_Msg.h的頭放到Guard_T.h后面,就ok了。還有問題的話,再往下調(diào)整。