Tue 16 Jun 2009 05:32:37 PM UTC, original submission:
This is part bug report, part guide for self or others interested in compiling LordsAWar! in Windows.
Index
1. Preparation (no bugs here, or at least not related to LAW)
2. Compilation
2.1 The Bug
1. Preparation
Get something to check out SVN, for example http://subversion.tigris.org/ or http://tortoisesvn.net/
For tortoisesvn, right click in any folder you'd like, choose checkout, enter svn://lordsawar.com/lordsawar/ and click ok.
Same basic prinicple for command line SVN, except then you need to use svn checkout svn://lordsawar.com/lordsawar/
As a basic guideline, use ./configure --prefix=/mingw --build=i586-pc-mingw32 for everything.
GTK+2
http://kemovitra.blogspot.com/2009/06/compiling-gtk-2-for-windows.html
intltool
http://ftp.gnome.org/pub/GNOME/sources/intltool/
Seems to require a more recent version of Perl. Perhaps using an older version would fix that. I switched to Strawberry Perl (http://strawberryperl.com/).
libglade & libglademm
http://ftp.gnome.org/pub/GNOME/sources/libglade/
http://ftp.gnome.org/pub/GNOME/sources/libglademm/
uuid
http://www.ossp.org/pkg/lib/uuid/
make install seems to fail due to some kind of UNIX/Windows binary hiccup. make install tells strip to look for "#INST@3752#" which doesn't exist, while "#INST@3752#.exe" does.
./configure checks in the wrong location, so I used.
mkdir /mingw/include/uuid/
ln -s /mingw/include/uuid.h /mingw/include/uuid/uuid.h
Running ./configure like this should probably work
./configure --disable-sound --disable-rpath --with-uuid=no --prefix=/mingw --build=i586-pc-mingw32
Maybe I should try make install -i. Everything compiled fine...
Boost
http://www.boost.org/users/download/
Do not waste time compiling anything. Just copy the subdirectory boost into /usr/local/include to make ./configure happy later on. I had to make that directory. It also needs to be in /include for more practical purposes. <--- could this be related to the ucompose.hpp stuff? I couldn't really figure out the Boost stuff and that seemed to work... <_<
wget
http://wiki.openttd.org/Compiling_on_MinGW#Compiling_wget
At the end of the ./configure process, one of the messages is the following, so just to be sure...
Of course you could also just use the .exe file without compiling anything.
You will also need config.guess and config.sub, which you can get from the CVS
of the 'config' project at http://savannah.gnu.org/. The commands to fetch them
are
$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/checkout/config/config/config.guess'
$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/checkout/config/config/config.sub'
2. Compilation
Finally managed to resolve everything, ./configure complains about SDL_mixer (even though that should be fine...)
Long story short, I ran ./configure with the following options and everything seemed to be going well.
./configure --disable-sound --disable-rpath --with-uuid=no --prefix=/mingw --build=i586-pc-mingw32
According to the script, ready to run make. Running make produces 4 virtually identical errors that look like this
I fixed these errors by making the deconstructors virtual as per attached patch file. I don't know if that's "good" or not, but it fixes the errors. From what I've read it should only use 4 bytes more memory (http://stackoverflow.com/questions/127426/gnu-compiler-warning-class-has-virtual-functions-but-non-virtual-destructor/127470#127470).
2.1 The bug
Now there's one last obstacle to successful compilation.
Updating the file to 1.0.5 (http://people.iola.dk/olau/compose/) didn't really change anything.
So, I'm stuck. Got any ideas about what might be going on here? :/
|