Kompilacja gier np: The Battle for Wesnoth 1.6.4

(Amsrxr) #1


Sciagnalem sobie gre, ktora ma tylko kod zrodlowy, cala masa plikow c, h, itp itd

http://www.idg.pl/ftp/linux\_3280/The.Ba ... 1.6.4.html

Co zrobic i jak zrobic aby przekompilowac cala gre, i moc odpalic na windowsie?

Zawsze mnie to ciekawilo, prosilbym o pomoc


(Sawyer47) #2

Proces kompilacji jest opisany w pliku INSTALL.

(Amsrxr) #3





No tak ale nie ma opisu jak to zrobic aby przekompilowac to pod windowsem:(((((

Zamieszczam ponizej ten plik


  1. Prerequisites

  2. Common instructions

  3. Scons build

  4. CMake build

  5. Autotools build

1. Prerequisites:

You'll need to have these libraries (with equivalent devel versions) to build Wesnoth:

 boost_iostreams >= 1.33.0

 boost_regex >= 1.33.0

 libfontconfig >= 2.4.1

 libpango (with cairo backend) >= 1.14.8

 libsdl >= 1.2.7

 libsdl-image >= 1.2 (with png support)

 libsdl-mixer >= 1.2 (with Vorbis support)


 libsdl-ttf >= 2.0.8


There are currently three ways to build wesnoth:

 * The old autotools system

 * scons

 * cmake (still incomplete, but most stuff works)

2. Common steps:

In the future, autotools will probably be replaced with either scons or cmake.

Once scons and cmake are complete all build systems will be evaluated and

one build system will be chosen as the official build system.

SDL* libraries can be found at: http://www.libsdl.org

libfreetype can be found at: http://www.freetype.org

Python can be found at: http://www.python.org

Pango can be found at: http://www.pango.org/

The boost libraries can be found at: http://www.boost.org

You will also need to have a working installation of GNU gettext to build the


Note: It has been reported (see https://gna.org/bugs/index.php?10326)

that under gcc 3.3.6 you need to turn off optimizations or you will

get a build that doesn't work for multiplayer. We recommend building

with gcc 4.

If you see lots of messages like "Type 'svnversion --help' for usage.",

you have a Subversion client installed but it is not implementing the 

-n option of svnversion. Time to update it.


You can get it here:



First untar the package:

 $ tar xfjv wesnoth-x.y.z.tar.bz2


 $ cd wesnoth-x.y.z

3. Scons build

SCons can be found at http://www.scons.org/ .

Simply type 'scons' in the top-level directory to build the game with the

editor and the server. It is possible to select individual targets by naming

them as scons arguments, including wesnothd (the Wesnoth multiplayer server)

and campaignd (the campaign server).

scons takes a prefix= argument that says where to install the game

and its data. The prefix defaults to /usr/local; for production builds

you may want to set prefix=/usr.

The target 'all' is equivalent to 'wesnoth wesnoth_editor cutter

exploder wesnothd campaignd'.

So, for example, this builds game, editor, and campaign server,

enabling debugging on all:

    scons build=debug wesnoth wesnoth_editor campaignd 

To build wesnothd:

   scons server_uid= server_group= wesnothd

where and are valid on your system. A wesnothd

subdirectory will be created under /var/run owned by
:. This is relevant if you want to be able to communicate

with wesnothd through a FIFO or named socket. You have to run

wesnothd with the user specified while configuring in order for it to

work. You can also specify the FIFO directory directly by using


If you want to install several versions of wesnoth you should use the

prefsdir= parameter to get distinct preferences directories. The

default is '.wesnoth'.

Installation productions 'install', 'install-wesnoth_editor',

'install-wesnothd' and 'install-campaignd' are available.

A plain 'install' installs all binary executables that exist -- so

'scons install' after a plain 'scons' installs game and editor, but

after 'scons all' it will install all binaries.

Notes on scons for autotools users

The scons build process works in a different way than configure. It runs

in one step, checking your configuration amnd building, rather than (as

autotools does) generating makefiles to be run later. So not all autotools

options have exact scons equivalents.  

But here is a translation key, autotools configure options on the left

and scons command-line options on the right. Defaults are given in square

brackets, and are the same as those for corresponding configure options.  

Configure options with no scons equivalents are marked N/A


  -h, --help --help

      --help=short N/A

      --help=recursive N/A

  -V, --version -v, --version

  -q, --quiet, --silent -Q

      --cache-file=FILE N/A

  -C, --config-cache N/A

  -n, --no-create -n, --no-create, --just-print, --dry-run, --recon

      --srcdir=DIR N/A

Installation directories:

  --prefix=PREFIX prefix=PREFIX [/usr/local]

  --exec-prefix=EPREFIX N/A

Fine tuning of the installation directories:

  --bindir=DIR bindir=DIR [bin]

  --sbindir=DIR N/A

  --libexecdir=DIR N/A

  --sysconfdir=DIR N/A

  --sharedstatedir=DIR N/A

  --localstatedir=DIR N/A

  --libdir=DIR libdir=DIR [lib]

  --includedir=DIR N/A

  --oldincludedir=DIR N/A

  --datarootdir=DIR datarootdir=DIR [share]

  --datadir=DIR datadir=DIR [$datarootdir/$datadirname]

  --infodir=DIR N/A

  --localedir=DIR localedir=DIR [$datarootdir/locale]

  --mandir=DIR mandir=DIR [$datarootdir/man]

  --docdir=DIR docdir=DIR [$datarootdir/doc/wesnoth]

  --htmldir=DIR N/A

  --dvidir=DIR N/A

  --pdfdir=DIR N/A

  --psdir=DIR N/A

Program names:

  --program-prefix=PREFIX N/A

  --program-suffix=SUFFIX program_suffix=SUFFIX

  --program-transform-name=PROGRAM N/A

X features:

  --x-includes=DIR N/A

  --x-libraries=DIR N/A

System types:

  --build=BUILD N/A

  --host=HOST N/A

  --target=TARGET N/A

Optional Features:

  --disable-FEATURE N/A (but see instances below)

  --enable-FEATURE[=ARG] N/A (but see instances below)

  --disable-nls nls=no

  --disable-dependency-tracking N/A

  --enable-dependency-tracking N/A

  --disable-rpath N/A

  --enable-debug build=debug

  --enable-profile build=profile

  --enable-tests (See --help documentation on choice of targets)

  --enable-static static=yes

  --enable-python-install N/A

  --enable-lite N/A

  --enable-tinygui gui=tiny

  --enable-optipng N/A

  --enable-lowmem lowmem=yes

  --disable-game (See --help documentation on choice of targets)

  --enable-server (See --help documentation on choice of targets)

  --enable-campaign-server (See --help documentation on choice of targets)

  --enable-editor (See --help documentation on choice of targets)

  --enable-tools (See --help documentation on choice of targets)

  --enable-dummy-locales dummy_locales=yes

  --enable-internal-data internal_data=yes

  --enable-raw-sockets raw_sockets=yes

  --disable-desktop-entry desktop_entry=no

  --disable-sdltest N/A

Optional Packages:

  --with-PACKAGE[=ARG] N/A

  --without-PACKAGE N/A

  --with-gnu-ld N/A

  --with-libiconv-prefix[=DIR] N/A

  --without-libiconv-prefix N/A

  --with-libintl-prefix[=DIR] N/A

  --without-libintl-prefix N/A

  --with-datadir-name[=DIR] datadirname=DIR

  --with-localedir[=DIR] localedir=DIR

  --with-fifodir fifodir=DIR

  --with-server-uid server_uid=ID

  --with-server-gid server_gid=ID

  --without-fribidi fribidi=no

  --with-preferences-dir prefsdir=DIR

  --with-icondir[=DIR] icondir=DIR

  --with-desktopdir[=DIR] desktopdir=DIR

  --with-x N/A

  --with-freetype-prefix=PFX N/A

  --with-freetype-exec-prefix=PFX N/A

  --with-boost=DIR boostdir=DIR boostlibdir=DIR boost_suffix=suffix(e.g. -gcc41-mt-1_35)

4. CMake build

To build with cmake, you need cmake >= 2.4-patch 8 . You can get cmake at 

http://www.cmake.org .

There are two ways to build wesnoth with cmake: Inside the source tree or outside.

Out of source builds have the advantage that you can have builds with different options

from one source directory.

To build wesnoth out of source:

 $ mkdir build && cd build

 $ cmake ..

 $ make

 $ make install

To build wesnoth in the source directory:

 $ cmake .

 $ make

 $ make install

To change build options, you can either pass the options on the command line:

 $ cmake .. -DOPTION=value

or use the ccmake frontend which displays all options with their cached values.

 $ ccmake ..

Build options:


Use "ccmake .." to view a list of all build options with help texts.

Debug builds:

Set CMAKE_BUILD_TYPE to "debug"

5. Autotools build

The .tar.bz2 file is distributed with a working set of configure files. They

are not in the SVN repository. Consequently, if you are building from

SVN, you will need autoconf (>= 2.60) and automake (>= 1.9). Run './autogen.sh'

then to generate the configure files.

 $ ./configure

 $ make

 $ make install

as usual. See './configure --help' for all available options.

You should clean your existing wesnoth release build first with:

 $ make distclean

If you want to clean your wesnoth SVN build do:

 $ make maintainer-clean

(Sawyer47) #4

Gdy chcesz tylko pograć to nie ma sensu bawić się w kompilację jeśli dostępne są binarki. Natomiast jeśli chcesz kompilować, cóż, Windows jest wg mnie mniej "przyjazny" pod względem kompilacji niż np. Linux czy BSD. W każdym razie opis odnosi się również do Windows - musisz jedynie posiadać wymienione biblioteki, kompilator, make (chyba?) oraz CMake / Scons (szczerze pierwszy raz się spotykam z tym drugim programem) - chyba żaden z wymienionych programów nie jest niedostępņy w wersji dla Windows, tylko instalacja tego wszstkiego i konfiguracja może nie być szybka i łatwa.

(Amsrxr) #5

gra jest pod linuxa, ale jak zrobic aby przekompilowac ja pod windowsem, w visual studio? czy w czym? jak?

(etam) #6

A po co kompilować? Tu są gotowe binarki http://www.wesnoth.org/

A jeżeli bardzo pragniesz kompilować, to trzeba najpierw wybrać, czy chcesz kompilować w Visualu, czy Mingw-em. Jak już wybierzesz to trzeba go oczywiście zainstalować. Potem ściągasz potrzebne biblioteki (np. http://www.libsdl.org/download-1.2.php prawie na samym dole są paczki do visuala i mingwa. pozostałe biblioteki albo są razem z sdl-em, albo trzeba się o nie zatroszczyć). A potem już tylko kompilacja.

Moim zdaniem szkoda czasu.

(Amsrxr) #7

wybieram visuala. tak dla siebie chcialem skompilowac. zeby sprawdzic czy chodzi i dziala.

Czyli sciagam visuala, odpalam i importuje caly katalog?

(Marcin 110) #8


(przemo_li) #9

Poszukaj forum lub kanału IRC lub listy mailingowej i zapytaj się czy kompilacja VS jest możliwa. Bo może jest wymagany mingw pod Windowsem wtedy VS nie na wiele się Ci przyda.

PS jeżeli chcesz programować w środowisku opensource polecam instalację Linuksa choćby na maszynie wirtualnej i pobawienie się tutorialami o C++, make czy innej odmianie, systemie kontroli wersji, jakimś języku skryptowym(np. python) etc. Dzięki temu będziesz wiedział co i jak działa, a nie będziesz się musiał użerać z Windows.

(Amsrxr) #10


SUper bardzo dziekuje, w wolnej chwli w weekend zajrze, i bede sie bawic, chyba wlasnie o cos takeigo mi chodzilo.


super, zainspirowales mnie, moglbys podac jedna sstrone www o tym, i o tym systemie kontroli wersji?. reszte juz krok po kroku bede powoli ogarniac. wystarczy dla mnie abys mnie naprowadzil. chyba wole C niz pythona bo akurat ten troszke umiem:P no chyba ze ten jest wymagany no to wtedy z musu naucze sie.

generalnie bardzo dziekuje duzo mi pomogliscie i tak.

(przemo_li) #11

jak znasz C to ucz się C++ (Jerzy Grębosz twój przyjaciel) Python nie jest zły ale jeżeli chcesz programować aby pobawić się grami to większość (tak z 99% na desktopach) jest pisana w C++. python proponowałem jak byś chciał zacząć przygodę z programowaniem.

Co do VC (kontrola wersji) to proponuję Mercurial (zwany też Hg) poszukaj "Mercurial book" to znajdziesz całą książkę online napisaną w przestępny sposób (po ang.). Oraz Mercurial jest dostępny na większość platform.

No i jeżeli interesują Ciebie gry to polecam:


gamedev.pl //po polsku gorąco polecam!!

Tam możesz poczytać co i jak (są też teksty jak zacząć i w jakiej kolejności się zabierać aby dotrwać do końca)

(Amsrxr) #12

Super bardzo dziekuje;)

(roobal) #13

Jak chcesz się jeszcze pobawić kompilacją pod WIndowsa to zainstaluj sobie, np. Cygwin i Mingw32.