Difference between revisions of "Building EDuke32 on Windows"

From EDukeWiki
Jump to navigation Jump to search
Line 1: Line 1:
building eduke32 on windows with microsoft visual c++  
+
==Building on Windows with Microsoft Visual C++==
  
 
note: this was what worked for me, there are probablly better ways. If you want to document them go right ahead --plugwash.
 
note: this was what worked for me, there are probablly better ways. If you want to document them go right ahead --plugwash.
Line 32: Line 32:
 
  cd ..\
 
  cd ..\
 
  nmake -f Makefile.msvc
 
  nmake -f Makefile.msvc
 +
 +
 +
==Building on Windows with GNU Make==
 +
 +
To compile EDuke32 on Windows, you will need to install the following:
 +
 +
*'''DirectX SDK''' - [http://alleg.sourceforge.net/files/dx70_mgw.zip Light Version] (242 KB) or [http://www.microsoft.com/downloads/details.aspx?FamilyId=5493F76A-6D37-478D-BA17-28B1CCA4865A Full Version], updated November 2008 (483.2 MB)
 +
*'''[http://tdragon.net/recentgcc/ TDM/MinGW]'''
 +
*'''[http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe MSYS]'''
 +
*'''[http://www.nasm.us/ NASM]'''
 +
 +
The following must also be installed to your MinGW directory. They must be downloaded [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 here].
 +
*bash
 +
*coreutils
 +
*make
 +
*msysCORE
 +
 +
After everything has been installed, a shortcut should be on your desktop titled MSYS. Run the shortcut and run these commands, replacing src-dir with the folder where the EDuke32 source code resides:
 +
 +
mount c: /c
 +
cd /c/src-dir
 +
make
 +
 +
This will build the binaries for EDuke32 and Mapster32 to the source directory.

Revision as of 12:57, 13 February 2009

Building on Windows with Microsoft Visual C++

note: this was what worked for me, there are probablly better ways. If you want to document them go right ahead --plugwash.

get visual c++ express edition from http://www.microsoft.com/express/download/ and install it. The paths in theese instructions assume it is installed in the default location.

unfortunately ml.exe is missing from the express edition, lukilly there is a copy in the freely downloadable windows server 2003 ddk which can be obtained from http://www.microsoft.com/whdc/devtools/ddk/default.mspx . Install this and copy ml.exe to your visual studio bin directory

windows.h, windef.h, winnt.h,basetsd.h,guiddef.h, pshpack4.h, pshpack1.h, pshpack2.h, pshpack4.h, pshpack8.h, poppack.h, winbase.h, winerror.h, wingdi.h, winuser.h, tvout.h, winnls.h, wincon.h, winver.h, winreg.h, winnetwk.h, winsvc.h, mcx.h, imm.h, shlobj.h, ole2.h, objbase.h, rpc.h, rpcdce.h, rpcdcep.h, rpcnsi.h, rpcnterr.h, rpcasync.h, rpcndr.h, rpcnsip.h, wtypes.h, unknwn.h, cguid.h, urlmon.h, oleidl.h, servprov.h, msxml.h , oaidl.h, propidl.h, oleauto.h, prsht.h, commctrl.h, shlguid.h, isguids.h, exdisp.h, ocidl.h, docobj.h, shldisp.h, specstrings.h, winsock2.h, qos.h, ws2tcpip.h, ddraw.h, dinput.h, windowsx.h, shellapi.h, winresrc.h, winuser.rh, commctrl.rh, dde.rh, winnt.rh, dlgs.h, mmsystem.h, dsound.h, d3dtypes.h, user32.lib, gdi32.lib, shell32.lib, dxguid.lib, winmm.lib, wsock32.lib, commctl32.lib, glu32.lib, uuid.lib, cderr.h, dde.h, ddeml.h, lzexpand.h, nb30.h, winperf.h, winsock.h, wincrypt.h, winscard.h, winioctl.h, winsmcard.h, commdlg.h and the whole gl include directory also seem to be missing, again theese can be obtained from the windows server 2003 ddk. With the exception of cderr.h, ddeml.h, winperf.h and lzexpand.h which I got from the wnet directory and a few files that were only found in a generic crt directory in the ddk I used the win2K versions from that ddk.

I had to modify ws2tcpip.h to add the following typedef just before the final #ENDIF

typedef int socklen_t;

This was fixed in the "winxp" version of that file included with the ddk but trying to use the winxp version resulted in a demand for another header that I could not meet with bits from the ddk.

I also had to modify windows.h to not include winpref.h which I didn't have

download http://www.vorbis.com/files/1.0.1/windows/OggVorbis-win32sdk-1.0.1.zip and extracted it (I extracted it in c:\ and work on that assumption in theese instructions)

download http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip and run the installer inside (I installed it in the default location and work on that assumption in theese instructions)

start the visual studio 2005 command prompt

clean up some environment variables that the vs command prompt forgets to clean, add the include paths for vorbis and openal to the include file path and add the path for the vorbis libs to the library path

PATH=C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\oggvorbis-win32sdk-1.0.1\include;C:\Program Files\OpenAL 1.1 SDK\include;AL\include
set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\oggvorbis-win32sdk-1.0.1\lib

change to the build subdirectory of your eduke32 tree and run

nmake -f Makefile.msvc
cd ..\
nmake -f Makefile.msvc


Building on Windows with GNU Make

To compile EDuke32 on Windows, you will need to install the following:

The following must also be installed to your MinGW directory. They must be downloaded here.

  • bash
  • coreutils
  • make
  • msysCORE

After everything has been installed, a shortcut should be on your desktop titled MSYS. Run the shortcut and run these commands, replacing src-dir with the folder where the EDuke32 source code resides:

mount c: /c
cd /c/src-dir
make

This will build the binaries for EDuke32 and Mapster32 to the source directory.