Hy guys, I tried many times to compile NetRadiant on Windows 7 but with no luck. Today I started again with A LOT of patience but, again, no compilation succeded.
Here all my steps in detail so maybe other users that tried this adventure can share their opinions
Note: I used these instructions
1)
Downloaded MinGW with MSys integrated from here
2)
Downloaded NetRadiant source from here and NetRadiant dipendencies from here
3)
Installed MinGw on C:\MinGW and launched MSys. From /home/username/netradiant I issued the command:
Make will not find AR(binutils),RANLIB(binutils) and pkg-config (PKGCONFIG).
Go to C:\MinGW\msys\1.0\etc, duplicate fstab.sample to fstab [without extension], open it and edit it like this:
Now if you re-compile make command will find AR e RANLIB but not PKGCONFIG.
To permit make to find PKGCONFIG I used this guide on StackOverflow, so:
4)
Download pkg-config_0.26-1_win32.zip from here, extract the file bin/pkg-config.exe to C:\MinGW\bin.
Download the file gettext-runtime_0.18.1.1-2_win32.zip from here and extract the file bin/intl.dll to C:\MinGW\bin
Download glib_2.28.8-1_win32.zip from here and extract bin/libglib-2.0-0.dll to C:\MinGW\bin
Re make and now make will go smooth through the dependencies check
5)
It will hang here(I just copied the only portion of code that console buffer stored):
And now?
I would ask if someone would be so kind to share his/her knowledge to fix this issue.
Thanks in advance for any hint,
cheers
Here all my steps in detail so maybe other users that tried this adventure can share their opinions
Note: I used these instructions
1)
Downloaded MinGW with MSys integrated from here
2)
Downloaded NetRadiant source from here and NetRadiant dipendencies from here
3)
Installed MinGw on C:\MinGW and launched MSys. From /home/username/netradiant I issued the command:
Code:
make MAKEFILE_CONF=mingw-Makefile.conf
Make will not find AR(binutils),RANLIB(binutils) and pkg-config (PKGCONFIG).
Go to C:\MinGW\msys\1.0\etc, duplicate fstab.sample to fstab [without extension], open it and edit it like this:
Code:
#Win32_Path Mount_Point
C:\MinGW /mingw
#c:/ActiveState/perl /perl
To permit make to find PKGCONFIG I used this guide on StackOverflow, so:
4)
Download pkg-config_0.26-1_win32.zip from here, extract the file bin/pkg-config.exe to C:\MinGW\bin.
Download the file gettext-runtime_0.18.1.1-2_win32.zip from here and extract the file bin/intl.dll to C:\MinGW\bin
Download glib_2.28.8-1_win32.zip from here and extract bin/libglib-2.0-0.dll to C:\MinGW\bin
Re make and now make will go smooth through the dependencies check
5)
It will hang here(I just copied the only portion of code that console buffer stored):
Code:
WINOLEAUTAPI VarDecFromDate(DATE,DECIMAL*);
^
c:\mingw\include\oleauto.h:624:28: error: unknown type name 'OLECHAR'
WINOLEAUTAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*);
^
c:\mingw\include\oleauto.h:624:48: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*);
^
c:\mingw\include\oleauto.h:625:49: error: expected ')' before '*' token
WINOLEAUTAPI VarDecFromBool(VARIANT_BOOL,DECIMAL*);
^
c:\mingw\include\oleauto.h:626:39: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromI1(signed char,DECIMAL*);
^
c:\mingw\include\oleauto.h:627:35: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromUI2(USHORT,DECIMAL*);
^
c:\mingw\include\oleauto.h:628:34: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromUI4(ULONG,DECIMAL*);
^
c:\mingw\include\oleauto.h:629:36: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromUI8(ULONG64,DECIMAL*);
^
c:\mingw\include\oleauto.h:630:37: error: expected ')' before '*' token
WINOLEAUTAPI VarDecFromCy(CY,DECIMAL*);
^
c:\mingw\include\oleauto.h:631:45: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*);
^
c:\mingw\include\oleauto.h:633:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecNeg(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:633:39: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecNeg(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:637:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecAbs(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:637:39: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecAbs(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:638:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:638:1: error: unknown type name 'DECIMAL'
c:\mingw\include\oleauto.h:638:54: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:639:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecCmp(const DECIMAL*,const DECIMAL*);
^
c:\mingw\include\oleauto.h:639:1: error: unknown type name 'DECIMAL'
c:\mingw\include\oleauto.h:640:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecCmpR8(const DECIMAL*,DOUBLE);
^
c:\mingw\include\oleauto.h:640:41: error: unknown type name 'DOUBLE'
WINOLEAUTAPI VarDecCmpR8(const DECIMAL*,DOUBLE);
^
c:\mingw\include\oleauto.h:641:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:641:1: error: unknown type name 'DECIMAL'
c:\mingw\include\oleauto.h:641:54: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:642:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFix(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:642:39: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecFix(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:643:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecInt(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:643:39: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecInt(const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:644:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:644:1: error: unknown type name 'DECIMAL'
c:\mingw\include\oleauto.h:644:54: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:645:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecRound(const DECIMAL*,int,DECIMAL*);
^
c:\mingw\include\oleauto.h:645:45: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecRound(const DECIMAL*,int,DECIMAL*);
^
c:\mingw\include\oleauto.h:646:1: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:646:1: error: unknown type name 'DECIMAL'
c:\mingw\include\oleauto.h:646:54: error: unknown type name 'DECIMAL'
WINOLEAUTAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*);
^
c:\mingw\include\oleauto.h:647:32: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyAbs(const CY,CY*);
^
c:\mingw\include\oleauto.h:648:38: error: redefinition of parameter 'CY'
WINOLEAUTAPI VarCyAdd(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:648:29: note: previous definition of 'CY' was here
WINOLEAUTAPI VarCyAdd(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:648:41: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyAdd(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:649:38: error: redefinition of parameter 'CY'
WINOLEAUTAPI VarCyCmp(const CY,const CY);
^
c:\mingw\include\oleauto.h:649:29: note: previous definition of 'CY' was here
WINOLEAUTAPI VarCyCmp(const CY,const CY);
^
c:\mingw\include\oleauto.h:650:34: error: unknown type name 'DOUBLE'
WINOLEAUTAPI VarCyCmpR8(const CY,DOUBLE);
^
c:\mingw\include\oleauto.h:651:32: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyFix(const CY,CY*);
^
c:\mingw\include\oleauto.h:652:32: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyInt(const CY,CY*);
^
c:\mingw\include\oleauto.h:653:32: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyMul(const CY,CY,CY*);
^
c:\mingw\include\oleauto.h:653:35: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyMul(const CY,CY,CY*);
^
c:\mingw\include\oleauto.h:654:39: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyMulI4(const CY,LONG,CY*);
^
c:\mingw\include\oleauto.h:655:41: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyMulI8(const CY,LONG64,CY*);
^
c:\mingw\include\oleauto.h:656:32: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyNeg(const CY,CY*);
^
c:\mingw\include\oleauto.h:657:38: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCyRound(const CY,INT,CY*);
^
c:\mingw\include\oleauto.h:658:38: error: redefinition of parameter 'CY'
WINOLEAUTAPI VarCySub(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:658:29: note: previous definition of 'CY' was here
WINOLEAUTAPI VarCySub(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:658:41: error: expected declaration specifiers or '..
.' before 'CY'
WINOLEAUTAPI VarCySub(const CY,const CY,CY*);
^
c:\mingw\include\oleauto.h:679:35: error: expected ')' before 'LCID'
WINOLEAUTAPI VarBstrCmp(BSTR,BSTR,LCID,ULONG);
^
c:\mingw\include\oleauto.h:680:39: error: expected ')' before '*' token
WINOLEAUTAPI VarBstrCat(BSTR,BSTR,BSTR*);
^
In file included from c:\mingw\include\ole2.h:52:0,
from c:\mingw\include\windows.h:101,
from c:\mingw\include\rpc.h:27,
from c:\mingw\include\wtypes.h:29,
from tools/quake3/common/vfs.h:40,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\oleidl.h:123:46: error: unknown type name 'LPOLESTR'
STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
^
c:\mingw\include\oleidl.h:141:46: error: unknown type name 'LPOLESTR'
STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
^
c:\mingw\include\oleidl.h:154:46: error: unknown type name 'LPOLESTR'
STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
^
c:\mingw\include\oleidl.h:157:29: error: unknown type name 'LPOLESTR'
STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
^
c:\mingw\include\oleidl.h:158:36: error: unknown type name 'LPOLESTR'
STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
^
c:\mingw\include\oleidl.h:159:29: error: unknown type name 'LPOLESTR'
STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
^
c:\mingw\include\oleidl.h:212:32: error: unknown type name 'LPCOLESTR'
STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
^
c:\mingw\include\oleidl.h:212:42: error: unknown type name 'LPCOLESTR'
STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
^
c:\mingw\include\oleidl.h:223:37: error: unknown type name 'LPOLESTR'
STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
^
c:\mingw\include\oleidl.h:293:60: error: unknown type name 'LPCOLESTR'
STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
^
c:\mingw\include\oleidl.h:342:60: error: unknown type name 'LPCOLESTR'
STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
^
c:\mingw\include\oleidl.h:346:33: error: unknown type name 'LPCOLESTR'
STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
^
In file included from c:\mingw\include\windows.h:101:0,
from c:\mingw\include\rpc.h:27,
from c:\mingw\include\wtypes.h:29,
from tools/quake3/common/vfs.h:40,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\ole2.h:69:52: error: unknown type name 'LPOLESTR'
WINOLEAPI WriteFmtUserTypeStg(LPSTORAGE,CLIPFORMAT,LPOLESTR);
^
c:\mingw\include\ole2.h:70:52: error: unknown type name 'LPOLESTR'
WINOLEAPI ReadFmtUserTypeStg(LPSTORAGE,CLIPFORMAT*,LPOLESTR*);
^
In file included from c:\mingw\include\rpcdce.h:33:0,
from c:\mingw\include\rpc.h:65,
from c:\mingw\include\windows.h:82,
from c:\mingw\include\rpc.h:27,
from c:\mingw\include\wtypes.h:29,
from tools/quake3/common/vfs.h:40,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\ole2.h:80:41: error: expected ')' before 'const'
WINOLEAPI OleCreateLinkToFile(LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSIT
E,LPSTORAGE,PVOID*);
^
In file included from c:\mingw\include\windows.h:101:0,
from c:\mingw\include\rpc.h:27,
from c:\mingw\include\wtypes.h:29,
from tools/quake3/common/vfs.h:40,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\ole2.h:81:38: error: unknown type name 'LPCOLESTR'
WINOLEAPI OleCreateFromFile(REFCLSID,LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECL
IENTSITE,LPSTORAGE,PVOID*);
^
c:\mingw\include\ole2.h:109:47: error: expected ')' before 'BOOL'
WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR,BOOL);
^
c:\mingw\include\ole2.h:110:48: error: unknown type name 'LPOLESTR'
WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID,LPOLESTR,BOOL);
^
c:\mingw\include\ole2.h:111:59: error: unknown type name 'LPOLESTR'
WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON,LPOLESTR,LPOLESTR,UIN
T);
^
c:\mingw\include\ole2.h:111:68: error: unknown type name 'LPOLESTR'
WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON,LPOLESTR,LPOLESTR,UIN
T);
^
c:\mingw\include\ole2.h:112:44: error: unknown type name 'LPOLESTR'
WINOLEAPI OleRegGetUserType(REFCLSID,DWORD,LPOLESTR*);
^
In file included from tools/quake3/common/vfs.h:40:0,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\wtypes.h:110:18: error: 'BSTR' redeclared as different kind of
symbol
typedef OLECHAR *BSTR;
^
In file included from c:\mingw\include\rpcdce.h:33:0,
from c:\mingw\include\rpc.h:65,
from c:\mingw\include\windows.h:82,
from c:\mingw\include\rpc.h:27,
from c:\mingw\include\wtypes.h:29,
from tools/quake3/common/vfs.h:40,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\oleauto.h:231:1: note: previous declaration of 'BSTR' was here
WINOLEAUTAPI_(BSTR) SysAllocStringByteLen(const char*,unsigned int);
^
In file included from tools/quake3/common/imagelib.c:27:0:
tools/quake3/common/vfs.h:42:0: warning: "R_OK" redefined [enabled by default]
#define R_OK 04
^
In file included from tools/quake3/common/vfs.h:41:0,
from tools/quake3/common/imagelib.c:27:
c:\mingw\include\io.h:335:0: note: this is the location of the previous definiti
on
#define R_OK 4 /* Check for read permission */
^
make: *** [tools/quake3/common/imagelib.o] Error 1
And now?
I would ask if someone would be so kind to share his/her knowledge to fix this issue.
Thanks in advance for any hint,
cheers