XAudio errors in TGEA 1.8.1
by Andy Hawkins · in Torque Game Engine Advanced · 02/14/2009 (10:07 pm) · 3 replies
I'm getting these errors when compiling TGEA 1.8.1 with VCExpress 2005.
Anyone know how to fix this?
Also I'm getting this include problem
Hope you can help
Anyone know how to fix this?
d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mMasterVoiceDetails' 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>sfxXAudioProvider.cpp 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mMasterVoiceDetails' 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>..........enginesourcesfxxaudiosfxXAudioProvider.cpp(127) : error C2664: 'XAudio2Create' : cannot convert parameter 3 from 'XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER' to 'IXAudio2EngineCallback *' 1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast 1>sfxXAudioDevice.cpp 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mMasterVoiceDetails' 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:TorqueTGEA_1_8_1enginesourcesfx/xaudio/sfxXAudioDevice.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>..........enginesourcesfxxaudiosfxXAudioDevice.cpp(50) : error C2039: 'GetVoiceDetails' : is not a member of 'IXAudio2MasteringVoice' 1> C:Program FilesMicrosoft DirectX SDK (August 2007)Includexaudio2.h(777) : see declaration of 'IXAudio2MasteringVoice' 1>..........enginesourcesfxxaudiosfxXAudioDevice.cpp(50) : error C2065: 'mMasterVoiceDetails' : undeclared identifier 1>..........enginesourcesfxxaudiosfxXAudioDevice.cpp(135) : error C2228: left of '.InputChannels' must have class/struct/union 1> type is ''unknown-type'' 1>..........enginesourcesfxxaudiosfxXAudioDevice.cpp(187) : error C2228: left of '.InputChannels' must have class/struct/union 1> type is ''unknown-type''
Also I'm getting this include problem
1>..........enginesourceplatformWin32videoInfowmiVideoInfo.cpp(4) : fatal error C1083: Cannot open include file: 'wbemidl.h': No such file or directory
Hope you can help
#2
02/23/2009 (3:42 pm)
Thanks a lot for this fix. I just upgraded (today) to TGEA and I wanted to move some changes I made to TGE to TGEA and I got those same erros. Thanks again.
#3
Quoted from the TDN TGEa Porting Gotchas Page:
EDIT: I use VS 2008 Express and haven't had any problems.
02/23/2009 (4:28 pm)
The NOV 08 DirectX SDK is actually a bad move. Quoted from the TDN TGEa Porting Gotchas Page:
Quote:There was a bug in the shader compiler in the November 2008 DirectX SDK (as referenced in this GarageGames forum thread: TGEA 1.7.1 and DirectX Nov. 2008 - broken ). A workaround was added for it that is specific to the Nov 2008 DXSDK (also detailed in that thread).
However, we recommend you stick with the August 2008 DXSDK (also linked in that thread). Our contacts at Microsoft informed us the bug report was recorded and should be fixed in the March 2009 DirectX SDK.
EDIT: I use VS 2008 Express and haven't had any problems.
Associate Andy Hawkins
DrewFX
1. Install Windows DirectX SDK Nov 2008 and use those directories
2. Move SDK paths up about C++ paths for includes
I also got this error...
..and fixed it by right clicking on the Stronghold object in the Solutions Explorer-> Properties ->Linker->General->Additional Library Directories and then added the Windows SDK include on top of all the others. This seems to be a Windows Vista issue.