I just test compile simple code this

#include "stdafx.h"
#include <memory.h>

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Got this error

1>e:\program files\microsoft visual studio 8\vc\include\memory.h(25) : error C2144: syntax error : 'int' should be preceded by ';'
1>e:\program files\microsoft visual studio 8\vc\include\memory.h(25) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Same error when compiling QT 4.3.1

Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.

cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189
-DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DMNG_
BUILD_SO -DMNG_NO_INCLUDE_JNG -DQT_DLL -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -D
QT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtCore"
-I"..\..\..\..\include\QtGui" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\inclu
de" -I"..\..\..\3rdparty\libmng" -I"..\..\..\3rdparty\zlib" -I"..\..\..\..\inclu
de\ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspecs\win32-msvc200
5" -Fotmp\obj\debug_shared\ @E:\DOCUME~1\x88\LOCALS~1\Temp\nm27B.tmp
qmnghandler.cpp
E:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\memory.h(25) : error C2144
: syntax error : 'int' should be preceded by ';'
E:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\memory.h(25) : error C4430
: missing type specifier - int assumed. Note: C++ does not support default-int
NMAKE : fatal error U1077: '"E:\Program Files\Microsoft Visual Studio 8\VC\BIN\c
l.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"E:\Program Files\Microsoft Visual Studio 8\VC\BIN\n
make.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
,hope someone can point me,how to solve it.
Urgently help is preferable ,thank.