[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