From: Luke D. <cod...@ho...> - 2004-05-31 12:15:04
|
I have found some useful information about using DirectShow with MinGW here: http://home.clara.net/raoulgough/vidmodem/dshow.html This and others can be found using Google. The particular problem of duplicate definitions from wingdi.h will be resolved in the next release of w32api, but you can just modify the DirectX headers instead (and this probably applies to the other problems). Luke ----- Original Message ----- From: "Mr. Duckman" <du...@uo...> To: <min...@li...> Sent: Monday, May 31, 2004 7:54 AM Subject: [Mingw-users] Problems compiling DirectX8 code on MinGW > Content-Transfer-Encoding: 7bit > > Greetings, > > I'm having a problem when I'm compiling directx8 code using MinGW. > > The error is: > dsusman@WARPCORE /c/home/builds/taylor-20040519-fs2_open-linux/fs2_open > $ make > Making all in code > make[1]: Entering directory > `/c/home/builds/taylor-20040519-fs2_open-linux/fs2_open/code' > if g++ -DPACKAGE_NAME=\"fs2_open\" -DPACKAGE_TARNAME=\"fs2_open\" > -DPACKAGE_VERSION=\"3.6\" -DPACKAGE_STRING=\"fs2_open\ 3.6\" > -DPACKAGE_BUGREPORT=\"\" -DNO_CD_CHECK=1 -D_MINGW=1 -DNDEBUG=1 > -DMORE_SPECIES=1 -I. -I. -fexceptions -I/c/sdk/dx8/include > -I/c/sdk/devil/include -O2 -MT movie.o -MD -MP -MF ".deps/movie.Tpo" -c > -o movie.o `test -f 'cutscene/movie.cpp' || echo './'`cutscene/movie.cpp; \ > then mv -f ".deps/movie.Tpo" ".deps/movie.Po"; else rm -f > ".deps/movie.Tpo"; exit 1; fi > if g++ -DPACKAGE_NAME=\"fs2_open\" -DPACKAGE_TARNAME=\"fs2_open\" > -DPACKAGE_VERSION=\"3.6\" -DPACKAGE_STRING=\"fs2_open\ 3.6\" > -DPACKAGE_BUGREPORT=\"\" -DNO_CD_CHECK=1 -D_MINGW=1 -DNDEBUG=1 > -DMORE_SPECIES=1 -I. -I. -fexceptions -I/c/sdk/dx8/include > -I/c/sdk/devil/include -O2 -MT dx8show.o -MD -MP -MF ".deps/dx8show.Tpo" > -c -o dx8show.o `test -f 'directx/dx8show.cpp' || echo > './'`directx/dx8show.cpp; \ > then mv -f ".deps/dx8show.Tpo" ".deps/dx8show.Po"; else rm -f > ".deps/dx8show.Tpo"; exit 1; fi > In file included from c:/sdk/dx8/include/dshow.h:46, > from directx/dx8show.cpp:1: > c:/sdk/dx8/include/strmif.h:6120: redefinition of `struct _RGNDATAHEADER' > c:/mingw/include/wingdi.h:2075: previous definition of `struct > _RGNDATAHEADER' > c:/sdk/dx8/include/strmif.h:6129: redefinition of `struct _RGNDATA' > c:/mingw/include/wingdi.h:2082: previous definition of `struct _RGNDATA' > c:/sdk/dx8/include/strmif.h:27636: declaration of `GUID tagVMRGUID::GUID' > c:/mingw/include/winnt.h:1337: changes meaning of `GUID' from `typedef > struct > _GUID GUID' > directx/dx8show.cpp: In function `long int PlayMovieInWindow(HWND__*, > TCHAR*)': > directx/dx8show.cpp:96: `USES_CONVERSION' undeclared (first use this > function) > directx/dx8show.cpp:96: (Each undeclared identifier is reported only > once for > each function it appears in.) > directx/dx8show.cpp:104: `T2W' undeclared (first use this function) > make[1]: *** [dx8show.o] Error 1 > make[1]: Leaving directory > `/c/home/builds/taylor-20040519-fs2_open-linux/fs2_open/code' > make: *** [all-recursive] Error 1 > > dsusman@WARPCORE /c/home/builds/taylor-20040519-fs2_open-linux/fs2_open > $ > > The software involved: > MinGW v3.1.0-1 > MinGW Runtime v3.3 > W32API v2.5 > DirectX8 SDK > MSYS v1.0.11-2003.04.20-1 > msysDTK v1.0.1 (This one installed first, then the MSYS > v1.0.11-2003.04.20-1) > > From what I understand, gcc gets confused with all the GUIDs > definitions. The thing is that I don't understand how or why. :P > > Any help will be appreciated. > > Thanks, > Mr. Duckman |