Hi
Im new to software dev. I'm trying to compile some software from sipfoundry. Its giving mainly the 3 errors
c:\sipfoundry\sipxportlib\include\os\wnt\osbsemwnt.h(71) : error C2146: syntax error : missing ';' before identifier 'mSemImp'
c:\sipfoundry\sipxportlib\include\os\wnt\osbsemwnt.h(71) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\sipfoundry\sipxportlib\include\os\wnt\osbsemwnt.h(71) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
The code was nicely getting compiled in VC++2003. Now since the project is very big I dont think I can change everywhere (like explicitly declaring int). Is there anyway I can maintain downward compatiblity / what change I should do to make it work in VC++2005.
The code osbsemwnt.h is as follows,
#ifndef
_OsBSemWnt_h_#define
_OsBSemWnt_h_// SYSTEM INCLUDES
//#include <windows.h>
// APPLICATION INCLUDES
#include
"os/OsBSem.h"// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
typedef
HANDLE WinSemaphore; //line 71 // FORWARD DECLARATIONS//:Binary semaphore for Windows NT
class
OsBSemWnt : public OsBSemBase{
}
Regards
Prakash, ME Micro, CEDT, IISc

VC++ Express Beta2 from VC++2003
ssteele00
It looks like that there is something missing in declaring mSemImp
Also, in VC2005, there is a breaking change where the default type is no longer assumed to be int. Fixing the first issue might be causing this error.
A list of the breaking changes is located at http://msdn2.microsoft.com/en-us/library/ms177253.aspx
In addition, if you don't want to change your code, see http://msdn2.microsoft.com/en-us/library/ms173696.aspx on how to get the old behavior.
Hope this helps!
Thanks, Ayman Shoukry VC++ Team