I am trying to play a sound in C++. When I use the PlaySound() function, Visual Studio gives 100+ compilation errors (I know this because the compiler stops at 100 errors). Below is my code:
#include <mmsystem.h>
#include <windows.h>
int main()
{
bool played = PlaySound(TEXT("sound.wav"), NULL, SND_SYNC);
return 0;
}
Visual Studio's linter also gives the error:
identifier PlaySoundW is undefined
This is the compilation output:
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(94,30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(94,21): error C2146: syntax error: missing ';' before identifier 'MMVERSION'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(98,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(98,32): error C2059: syntax error: 'return'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(102,20): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(102,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(112,21): error C3646: 'ms': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(112,23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(113,21): error C3646: 'sample': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(113,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(114,21): error C3646: 'cb': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(114,23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(115,21): error C3646: 'ticks': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(115,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(120,21): error C3646: 'hour': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(120,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(121,21): error C3646: 'min': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(121,24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(122,21): error C3646: 'sec': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(122,24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(123,21): error C3646: 'frame': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(123,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(124,21): error C3646: 'fps': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(124,24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(125,21): error C3646: 'dummy': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(125,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(127,21): error C3646: 'pad': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(127,24): error C2143: syntax error: missing ',' before '['
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(127,27): error C2238: unexpected token(s) preceding ';'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(134,19): error C3646: 'songptrpos': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(134,29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,26): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,35): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,41): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,41): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,41): error C2377: 'FAR': redefinition; typedef cannot be overloaded with any other symbol
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(102): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137,50): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(275,21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(275,16): error C2065: 'HDRVR': undeclared identifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,24): error C2146: syntax error: missing ')' before identifier 'DRVCALLBACK'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,24): error C2146: syntax error: missing ';' before identifier 'DRVCALLBACK'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,35): error C2059: syntax error: ')'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,43): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,37): error C2065: 'HDRVR': undeclared identifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297,43): error C2146: syntax error: missing ')' before identifier 'hdrvr'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,25): error C2378: 'DRVCALLBACK': redefinition; symbol cannot be overloaded with a typedef
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297): message : see declaration of 'DRVCALLBACK'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,21): error C2146: syntax error: missing ';' before identifier 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,25): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,21): error C2086: 'int FAR': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(299,39): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(301,25): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(301,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(301,25): error C2378: 'DRVCALLBACK': redefinition; symbol cannot be overloaded with a typedef
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297): message : see declaration of 'DRVCALLBACK'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(301,38): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(37,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(37,17): error C2146: syntax error: missing ';' before identifier 'MCIERROR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(45,24): error C2143: syntax error: missing ')' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(45,24): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(45,15): error C2371: 'CALLBACK': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(297): message : see declaration of 'CALLBACK'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(45,34): error C2059: syntax error: ')'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(45,73): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(52,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(51,1): error C2146: syntax error: missing ';' before identifier 'MCIERROR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(62,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(60,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(61,1): error C2146: syntax error: missing ';' before identifier 'MCIERROR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(77,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(75,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(76,1): error C2146: syntax error: missing ';' before identifier 'MCIERROR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(87,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(85,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(86,1): error C2146: syntax error: missing ';' before identifier 'MCIERROR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(102,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(100,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(101,1): error C2146: syntax error: missing ';' before identifier 'MCIDEVICEID'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(109,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(107,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(108,1): error C2146: syntax error: missing ';' before identifier 'MCIDEVICEID'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(121,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(119,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(120,1): error C2146: syntax error: missing ';' before identifier 'MCIDEVICEID'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(129,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(127,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(128,1): error C2146: syntax error: missing ';' before identifier 'MCIDEVICEID'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(142,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(140,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(141,1): error C2146: syntax error: missing ';' before identifier 'BOOL'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(151,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(149,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(150,1): error C2146: syntax error: missing ';' before identifier 'BOOL'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(173,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(171,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(172,1): error C2146: syntax error: missing ';' before identifier 'BOOL'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(202,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(200,1): error C2086: 'int DECLSPEC_IMPORT': redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(50): message : see declaration of 'DECLSPEC_IMPORT'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(201,1): error C2146: syntax error: missing ';' before identifier 'BOOL'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(499,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(499,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(500,47): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(500,43): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(500,67): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(507,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(507,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(509,16): error C3646: 'lpstrDeviceType': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(509,31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(510,16): error C3646: 'lpstrElementName': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(510,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(511,16): error C3646: 'lpstrAlias': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(511,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(514,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(514,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(516,16): error C3646: 'lpstrDeviceType': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(516,31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(517,16): error C3646: 'lpstrElementName': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(517,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(518,16): error C3646: 'lpstrAlias': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(518,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(544,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(544,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(547,41): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(547,37): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(547,58): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(552,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(552,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(554,41): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(554,37): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(554,58): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(559,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(559,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(560,17): error C3646: 'dwReturn': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(560,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(563,45): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(563,41): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(563,65): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(570,15): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(570,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(571,15): error C3646: 'lpstrReturn': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(571,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(575,15): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(575,25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(576,15): error C3646: 'lpstrReturn': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(576,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(598,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(598,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(601,53): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(601,49): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(601,77): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(608,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(608,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(609,17): error C3646: 'lpstrReturn': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(609,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(615,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(615,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(616,17): error C3646: 'lpstrReturn': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(616,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(644,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(644,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(647,39): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(647,35): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(647,55): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(652,17): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(652,27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(655,17): error C3646: 'hwndBreak': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(655,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(662,43): error C2143: syntax error: missing ';' before '*'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(662,39): error C2371: 'FAR': redefinition; different basic types
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(137): message : see declaration of 'FAR'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(662,62): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(669,18): error C3646: 'dwCallback': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(669,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(670,18): error C3646: 'lpfilename': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mciapi.h(670,28): fatal error C1003: error count exceeds 100; stopping compilation
How do I prevent these compilation errors?
Include <windows.h>
first, then <mmsystem.h>