JBand/Compiling

From RogueBasin
Jump to navigation Jump to search

With Visual C++ (IDE)

This project is not yet ready for compiling Volunteers interested in making it ready for compiling are welcome. ;-)

The instructions below should give you an optimized, release, version of the game. If you want to compile a debug version make the obvious changes.

  • Copy 'angband.ico' into the \src\win directory.
  • Start the VC++ IDE and create a new empty project in the source directory (a new subfolder will be created)
  • Add all the *.c, *.h and *.rc files from the \src directory and the monster, object, player and win subdirectories.
  • (Optional) You can create Monster, Object, Player and Win filters in the previous step instead of putting all the files into one list. This has the cosmetic benefit of more closely resembling the arrangement of files on the disk.

Build -> Configuration manager

  • Set 'configuration' to "Release".

Project -> Properties

  • Configuration Properties / General : Set "output directory" to where you want the .exe (usually ..\..\ ).
  • C/C++ / General : Set additional include directories to the source directory (usually ..\ )
  • C/C++ / General : Set warning level to /W4 (optional).
  • C/C++ / Advanced : Change "Compile as" to "Compile as C code /TC"
  • C/C++ / Command Line : Type "/DWINDOWS /DNDEBUG" into the Command line.
  • Linker / Input : Set "additional dependencies" to winmm.lib

With Visual C++ (Command prompt)

Makefile.nmake needs to be updated before this will work

  • Start Visual C++ Command Prompt
  • Change to source directory
  • Enter "nmake /fMakefile.nmake"

With Dev-C++

Dev-C++ does not work with Windows-style Unicode text files.

I haven't checked whether it works with non-Windows style Unicode text files. (Incidentally the difference between 'Windows-style' and 'Non-Windows-style' is that Windows uses a few bytes at the start of the text file to identify the contents as Unicode (and what type?). Unfortunately very many programs in other OSes fail to cope with those bytes (although I believe that both styles are valid).

  • Create an empty C project, located in the source directory
  • Add every C file from src/, src/win, src/monster, src/object and src/player.
  • From Project -> Project Options, General tab set "Win32 console application"
  • From Project -> Project Options, Build Options tab, set the executable output directory to "..\".
  • From Project -> Project Options, parameters tab, add -mwindows -DWINDOWS -I. to the compiler options and -lmingw32 -lwinmm -mwindows to the linker options.

With Linux

I have not yet tested Unicode source files with Linux, but I expect the files will need pre-processing before they can be compiled.

  • The game library and source files are assumed to be in the folder "Angband65" on the desktop.
  1. Start a terminal window.
  2. $ cd Desktop/Angband65
  3. $ autogen.sh
  4. $ configure --with-noinstall
  5. $ make
  • Now copy the Angband executable file into the Angband folder from Angband/src.

Back to project

JBand main page.