# mmsystem.h acting up

This is a discussion on mmsystem.h acting up within the Windows Programming forums, part of the Platform Specific Boards category; Ok, here are my two error messages: Code: --------------------Configuration: icons - Win32 Debug-------------------- Compiling... source.cpp c:\program files\microsoft visual studio\vc98\include\mmsystem.h (113) ...

1. ## mmsystem.h acting up

Ok, here are my two error messages:

Code:
```--------------------Configuration: icons - Win32 Debug--------------------
Compiling...
source.cpp
c:\program files\microsoft visual studio\vc98\include\mmsystem.h
(113) : error C2146: syntax error : missing ';' before identifier 'MMVERSION'
c:\program files\microsoft visual studio\vc98\include\mmsystem.h
(113) : fatal error C1004: unexpected end of file found
Error executing cl.exe.```
here is line 113 of mmsystem.h
Code:
`typedef UINT        MMVERSION;  /* major (high byte), minor (low byte) */`
here are the 1st 120 lines of mmsystem.h

Code:
```/*==========================================================================
*
*  mmsystem.h -- Include file for Multimedia API's
*
*  Version 4.00
*
*
*--------------------------------------------------------------------------
*
*  Define:         Prevent inclusion of:
*  --------------  --------------------------------------------------------
*  MMNODRV         Installable driver support
*  MMNOSOUND       Sound support
*  MMNOWAVE        Waveform support
*  MMNOMIDI        MIDI support
*  MMNOAUX         Auxiliary audio support
*  MMNOMIXER       Mixer support
*  MMNOTIMER       Timer support
*  MMNOJOY         Joystick support
*  MMNOMCI         MCI support
*  MMNOMMIO        Multimedia file I/O support
*  MMNOMMSYSTEM    General MMSYSTEM functions
*
*==========================================================================
*/

#ifndef _INC_MMSYSTEM
#define _INC_MMSYSTEM   /* #defined if mmsystem.h has been included */

#ifdef _WIN32
#include <pshpack1.h>
#else
#ifndef RC_INVOKED
#pragma pack(1)
#endif
#endif

#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif  /* __cplusplus */

#ifdef _WIN32
#ifndef _WINMM_
#define	WINMMAPI	DECLSPEC_IMPORT
#else
#define	WINMMAPI
#endif
#define _huge
#else
#define	WINMMAPI
#endif

#ifdef _WIN32_VXD

#define NEAR
#define FAR

#define DECLARE_HANDLE(x) typedef WORD x
#define WINAPI

typedef DWORD LPSTR;
typedef DWORD LPVOID;
typedef DWORD LPCSTR;
typedef DWORD LPCWSTR;
typedef DWORD LRESULT;
typedef DWORD LPARAM;
typedef DWORD WPARAM;

typedef short WCHAR;

#endif

/****************************************************************************

General constants and data types

****************************************************************************/

/* general constants */
#define MAXPNAMELEN      32     /* max product name length (including NULL) */
#define MAXERRORLENGTH   256    /* max error text length (including NULL) */
#define MAX_JOYSTICKOEMVXDNAME 260 /* max oem vxd name length (including NULL) */

/*
*  Microsoft Manufacturer and Product ID's (these have been moved to
*  MMREG.H for Windows 4.00 and above).
*/
#if (WINVER <= 0x030A)
#ifndef MM_MICROSOFT
#define MM_MICROSOFT            1   /* Microsoft Corporation */
#endif

#ifndef MM_MIDI_MAPPER
#define MM_MIDI_MAPPER          1   /* MIDI Mapper */
#define MM_WAVE_MAPPER          2   /* Wave Mapper */
#define MM_SNDBLST_MIDIOUT      3   /* Sound Blaster MIDI output port */
#define MM_SNDBLST_MIDIIN       4   /* Sound Blaster MIDI input port */
#define MM_SNDBLST_SYNTH        5   /* Sound Blaster internal synthesizer */
#define MM_SNDBLST_WAVEOUT      6   /* Sound Blaster waveform output */
#define MM_SNDBLST_WAVEIN       7   /* Sound Blaster waveform input */
#define MM_MPU401_MIDIOUT      10   /* MPU401-compatible MIDI output port */
#define MM_MPU401_MIDIIN       11   /* MPU401-compatible MIDI input port */
#define MM_PC_JOYSTICK         12   /* Joystick adapter */
#endif
#endif

/* general data types */

#ifdef _WIN32
typedef UINT        MMVERSION;  /* major (high byte), minor (low byte) */
#else
typedef UINT        VERSION;    /* major (high byte), minor (low byte) */
#endif
typedef UINT        MMRESULT;   /* error return code, 0 means no error */
/* call as if(err=xxxx(...)) Error(err); else */
#define _MMRESULT_```
i could not find anything wrong, can you?

2. The problem is most likely in your source code before mmsystem.h was included.

gg

3. here is everything before it is included:

Code:
```// Just say no to MFC
#ifndef		WIN32_LEAN_AND_MEAN
#define		WIN32_LEAN_AND_MEAN
#endif

// Include statements ////////////////////////////////////////////////
#ifndef		WINDOWS_H
#define		WINDOWS_H
#include	<windows.h>
#endif

#ifndef		WINDOWSX_H
#define		WINDOWSX_H
#include	<windowsx.h>
#endif```