Hi there,
I'm still struggling to get the cvs version of GEM compiled for Win with gcc (dev-c++). DSgrabber.cpp includes some microsoft header files, with winnt.h being one of them. Unfortunately, this one incorporates some inline assembler, like this:
#if _MSC_VER >= 1200 #pragma warning(push) #endif #pragma warning(disable:4035 4793) // re-enable below
__inline ULONGLONG NTAPI Int64ShllMod32 ( ULONGLONG Value, DWORD ShiftCount ) { __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl } }
This seems to be the Intel flavour of assembler notation, while gcc defaults to the at&t one. Unfortunately, -masm=intel doesn't help:
Executing make... make.exe -f "D:\Dokumente und Einstellungen\VJ\Eigene Dateien\GEM\Gem\src\Makefile.win" all g++.exe -c Pixes/DSgrabber.cpp -o Pixes/DSgrabber.o -I"." -I"./Base" -I"../../pd/src" -I"../../GemLibs/freetype2/include" -I"../../GemLibs/tiff/libtiff" -I"../../GemLibs/JPEG" -I"../../GemLibs/wintab/include" -I"../../GemLibs/FTGL/include" -I"D:/Programme/Microsoft Platform SDK/Samples/Multimedia/DirectShow/BaseClasses" -I"D:/Programme/Microsoft DirectX 9.0 SDK (February 2005)/Include" -I"D:/Programme/Microsoft Platform SDK/Include" -D__GNUWIN32__ -mcpu=pentiumpro -D_M_IX86=600 -W -finline-functions -DNDEBUG -DWIN32 -D_WINDOWS -DNT -D_LANGUAGE_C_PLUS_PLUS -DWIN32_LEAN_AND_MEAN -DGEM_INTERNAL -masm=intel -O2 -march=i686 -msse
In file included from D:/Programme/Microsoft Platform SDK/Include/windef.h:176, from d:/programme/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/excpt.h:20, from D:/Programme/Microsoft Platform SDK/Include/windows.h:157, from D:/Programme/Microsoft Platform SDK/Samples/Multimedia/DirectShow/BaseClasses/streams.h:41, from Pixes/DSgrabber.cpp:13: D:/Programme/Microsoft Platform SDK/Include/winnt.h: In function `ULONGLONG Int64ShllMod32(ULONGLONG, DWORD)': D:/Programme/Microsoft Platform SDK/Include/winnt.h:588: error: expected `(' before '{' token
D:/Programme/Microsoft Platform SDK/Include/winnt.h:588: error: expected asm body before '{' token
D:/Programme/Microsoft Platform SDK/Include/winnt.h:589: error: `mov' undeclared (first use this function) D:/Programme/Microsoft Platform SDK/Include/winnt.h:589: error: (Each undeclared identifier is reported only once for each function it appears in.) D:/Programme/Microsoft Platform SDK/Include/winnt.h:589: error: expected `;' before "ecx"
any hints would ne highly welcome - with kind regards, Thoralf.
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com