[GEM-dev] compiling GEM for Win with gcc

Thoralf Schulze thoralf_schulze at yahoo.de
Fri Jun 24 15:41:15 CEST 2005


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




More information about the GEM-dev mailing list