Compile for Windows® #62
-
Good day. Did any one get to convert it to windows, I am truckling to get it to work, and I really want to lay this in windows. Any help on this will be great |
Beta Was this translation helpful? Give feedback.
Replies: 14 comments 61 replies
-
hi there :) |
Beta Was this translation helpful? Give feedback.
-
About the build for Windows I’m getting and getting asked quite often... In fact, no one did that before (except for Jorge with his unaltered version). The last thing I tried was MSYS2 https://www.msys2.org/ which really looks like Arch Linux console for Windows®, but it fails inside the Allegro library, very likely the same way it failed #54 on cygwin And as Jorge wrote me,
|
Beta Was this translation helpful? Give feedback.
-
Hi Douglas
How are you doing,
Yes Jorge did send it to me, but I am busy with excel forms, and when done,
I will try it.
If you want I can send it to you, so you can see, and just make changes for
your files.
Greetings
Hendrik
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 26 Apr 2024 at 16:43, Douglas Mencken ***@***.***> wrote:
About the build for Windows I’m getting and getting asked quite often...
In fact, no one did that before (except for Jorge with his unaltered
version). The last thing I tried was MSYS2 https://www.msys2.org/ which
really looks like Arch Linux console for Windows®, but it fails inside the
Allegro library, very likely the same way it failed on cygwin.
And as Jorge wrote me,
Hendrik contacted me as soon as he saw the new website. He asked me to
explain how to compile the game on Windows. I told him that compiling it on
Windows is a pain in the ass because of all the dependencies that have to
be installed. However, I promised him that I would write him a guide about
how to do it. Another task I have for my vacation.
—
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOULO3TADWVAJTRFOITY7JRX7AVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TEMZYGE3DA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Here it is
1. Download MSYS2 installer from https://www.msys2.org/
2. Install MSYS2 accepting the default options.
3. Run MSYS2. A UNIX-like terminal will be displayed. Something like this:
***@***.*** UCRT64 ~
$
Now it's time to install the tools and third-party libraries that are
needed for building the game. From the MSYS2 terminal, write:
$ pacman -S mingw-w64-ucrt-x86_64-gcc
$ pacman -S mingw-w64-ucrt-x86_64-libc++
$ pacman -S mingw-w64-ucrt-x86_64-libvorbis
$ pacman -S mingw-w64-ucrt-x86_64-libogg
$ pacman -S mingw-w64-ucrt-x86_64-libpng
$ pacman -S mingw-w64-ucrt-x86_64-boost
$ pacman -S mingw-w64-ucrt-x86_64-cmake
$ pacman -S mingw-w64-ucrt-x86_64-make
$ pacman -S msys/make
Download Allegro 4.4.3 using the following link and put the file into your
MSYS2 home folder, i.e. C:\msys64\home\hendrik
https://github.com/liballeg/allegro5/releases/download/4.4.3.1/allegro-4.4.3.1.tar.gz
Compile the library:
$ tar zxvf allegro-4.4.3.1.tar.gz
$ cd allegro-4.4.3.1/
$ mkdir build
$ cd build/
$ cmake -G "MinGW Makefiles" ..
$ mingw32-make
$ mingw32-make install
It's necessary to change a library name because the game looks for
liballeg, not liballeg44. Then:
$ cd /ucrt64/lib
$ ln -s liballeg44.dll.a liballeg.dll.a
$ cd
Download Head over Heels source code using this link:
https://hoh.helmantika.com/wp-content/uploads/2024/04/headoverheels-1.0.2-mingw64.tar.bz2
Put it into your MSYS home folder. This version is not public. As I said
above, it's a patched version I had to create in order to work with MSYS2
(64-bit MinGW tool-chain). Compile the game:
$ tar jxvf headoverheels-1.0.2.tar.bz2
$ cd headoverheels-1.0.2/
$ ./configure
$ mingw32-make
$ mingw32-make install
Run the game:
$ headoverheels
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 26 Apr 2024 at 17:12, Douglas Mencken ***@***.***> wrote:
Sure, I’m eager to l👀k at it
(although pretty far from any computing stuff larger than my smartphone at
the moment)
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOXXQMINFIXEP7ZXRGTY7JVHXAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TEMZYGU4TS>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
guess what it is |
Beta Was this translation helpful? Give feedback.
-
You got it to work. Great, did you write down how you did it, if so can
you send it for me.
*Jesus Christ is Lord*
*Not a swear word*
…On Sun, 28 Apr 2024 at 22:07, Douglas Mencken ***@***.***> wrote:
$ /games/bin/headoverheels.exe
SharePath is "/games/share/headoverheels/"
Head over Heels
the free and open source remake (in C++)
version 1.4dev
whereIsGame is "/games/bin/headoverheels"
FullPathToGame is "/games/bin/headoverheels"
readPreferences( /games/share/headoverheels/preferences.xml )
can’t read game’s preferences from "/games/share/headoverheels/preferences.xml"
can’t read the list of sounds from "sounds.xml"
using language "en_US"
parsing "/games/share/headoverheels/text/en_US.xml"
looping Ogg C:\msys64\games\share\headoverheels\music\MainTheme.ogg
making new screen for action " N3gui14CreateMainMenuE "
refreshing the background for user interface slides
file "/games/share/headoverheels/letters.utf8" lists 336 letters
reading the credits from "/games/share/headoverheels/text/credits.xml"
can't read XML file "/games/share/headoverheels/text/credits.xml"
playing Ogg C:\msys64\games\share\headoverheels\music\HeadOverHeels.ogg
making new screen for action " N3gui19CreatePlanetsScreenE "
GameMap::beginNewGame( "blacktooth1head.xml", "blacktooth23heels.xml" )
can’t load file "/games/share/headoverheels/map/map.xml" with the map of the game
room "blacktooth1head.xml" doesn’t exist
room "blacktooth23heels.xml" doesn’t exist
play new game
playing Ogg C:\msys64\games\share\headoverheels\music\begin.ogg
^C
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOXOFVYO2KQJ2XBTZILY7VJHFAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TENJVGQ3TG>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
That is good, If you have time can you show me how you did the windows part
*Jesus Christ is Lord*
*Not a swear word*
…On Tue, 30 Apr 2024 at 00:31, Douglas Mencken ***@***.***> wrote:
My last patch
<bf9f6fc>
solves 99% issues with all these paths, I bet 😉
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOTET3FNOEWTOJAJVU3Y73C5RAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TENRYGIZDG>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
O found it, ask for dll files, will search for them and add them
*Jesus Christ is Lord*
*Not a swear word*
…On Thu, 2 May 2024 at 16:58, Douglas Mencken ***@***.***> wrote:
I’d look in C:\msys64\hoh
and what about the binary I made and uploaded here a couple of hours ago?
—
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOR4MPHB54TQMVPIRF3ZAJIATAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TEOJWGY4DA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
I have run autoreconf -i -f
***@***.*** UCRT64 ~/HeadOverHeels-master/HeadOverHeels-master
$ autoreconf -i -f
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:13: installing './compile'
configure.ac:7: installing './missing'
source/Makefile.am: installing './depcomp'
No errors, but when running
CPPFLAGS="-D_XOPEN_SOURCE=600" ./configure --prefix=/hoh --with-allegro5
--with-allegro-prefix=/ucrt64 --with-libpng-prefix=/ucrt64
--with-ogg-prefix=/ucrt64 --with-tinyxml2-prefix=/ucrt64
getting error
configure: error: zlib headers are absent, with CPPFLAGS="
-D_XOPEN_SOURCE=600"
but still cannot run make && make install (must I install cmake for it.
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 3 May 2024 at 09:58, Douglas Mencken ***@***.***> wrote:
autoreconf -f -i creates the configure script from configure.ac and
Makefile from Makefile.am
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOWJ5TFKXZUGOS44NYTZAM7R7AVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TGMBTGAYDQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Ok, can now run the make && make install, but get many errors
***@***.*** UCRT64 ~/HeadOverHeels-master/HeadOverHeels-master
$ make && make install
Making all in source
make[1]: Entering directory
'/home/User-Pc/HeadOverHeels-master/HeadOverHeels-master/source'
CXX headoverheels-main.o
In file included from main.cpp:15:
WrappersAllegro.hpp:56:2: error: #error I need either Allegro 4 or Allegro 5
56 | #error I need either Allegro 4 or Allegro 5
| ^~~~~
WrappersAllegro.hpp:66:45: error: expected ‘)’ before ‘c’
66 | AllegroColor ( type_of_allegro_color c ) : color( c ) { }
| ~ ^~
| )
WrappersAllegro.hpp:68:18: error: expected type-specifier before
‘type_of_allegro_color’
68 | operator type_of_allegro_color() const { return color ; }
| ^~~~~~~~~~~~~~~~~~~~~
WrappersAllegro.hpp:92:9: error: ‘type_of_allegro_color’ does not name a
type
92 | type_of_allegro_color color ;
| ^~~~~~~~~~~~~~~~~~~~~
WrappersAllegro.hpp:121:9: error: ‘AllegroBitmap’ does not name a type
121 | AllegroBitmap* ptr () const { return it ; } // instead of
just operator AllegroBitmap*() const { return it ; }
| ^~~~~~~~~~~~~
WrappersAllegro.hpp:127:32: error: ‘AllegroBitmap’ has not been declared
127 | static Pict* newPict ( AllegroBitmap* b ) { return new
Pict( b ) ; }
| ^~~~~~~~~~~~~
|
Beta Was this translation helpful? Give feedback.
-
I have got nearly to the end, but get this error (did change it, but it
still gives it
./.libs/lt-headoverheels.c: In function 'main':
./.libs/lt-headoverheels.c:319:16: warning: implicit declaration of
function '_spawnv'; did you mean 'spawnv'? [-Wimplicit-function-declaration]
319 | rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *)
newargz);
| ^~~~~~~
| spawnv
and you must remember that we must make a dir for m4.
I did gt it to make hoh dir, but the bin is empty
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 3 May 2024 at 17:52, Douglas Mencken ***@***.***> wrote:
@hendrikbez <https://github.com/hendrikbez> does it work now on your side?
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOUYQQ6BTI6GXZWDIJ3ZAOXDJAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TGMBXGI4DI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
No it did not hold on let me do it again
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 3 May 2024 at 18:03, Douglas Mencken ***@***.***> wrote:
doesn’t CPPFLAGS="-D_XOPEN_SOURCE=600" before ./configure fix the issue
with spawnv
<#62 (reply in thread)>
?
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOUFLLCHW4OFF6JJNDTZAOYONAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TGMBXGQYTO>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Still get this error
./.libs/lt-headoverheels.c: In function 'main':
./.libs/lt-headoverheels.c:319:16: warning: implicit declaration of
function '_spawnv'; did you mean 'spawnv'? [-Wimplicit-function-declaration]
319 | rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const
*) newargz);
| ^~~~~~~
| spawnv
even when I have run this
CPPFLAGS="-D_XOPEN_SOURCE=600" ./configure --prefix=/hoh \
--with-allegro5 --with-allegro-prefix=/ucrt64 \
--with-libpng-prefix=/ucrt64 --with-ogg-prefix=/ucrt64
--with-tinyxml2-prefix=/ucrt64
collect2: error: ld returned 1 exit status
strip: './headoverheels.exe': No such file
***@***.*** UCRT64 ~/headoverheels-git
$ /hoh/bin/headoverheels.exe
-bash: /hoh/bin/headoverheels.exe: No such file or directory
No files in Bin
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 3 May 2024 at 18:03, Douglas Mencken ***@***.***> wrote:
doesn’t CPPFLAGS="-D_XOPEN_SOURCE=600" before ./configure fix the issue
with spawnv
<#62 (reply in thread)>
?
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOUFLLCHW4OFF6JJNDTZAOYONAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TGMBXGQYTO>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
This is what I did
autoreconf -i -f
CPPFLAGS="-D_XOPEN_SOURCE=600" ./configure --prefix=/hoh \
--with-allegro5 --with-allegro-prefix=/ucrt64 \
--with-libpng-prefix=/ucrt64 --with-ogg-prefix=/ucrt64
--with-tinyxml2-prefix=/ucrt64
make && make install
*Jesus Christ is Lord*
*Not a swear word*
…On Fri, 3 May 2024 at 19:24, Douglas Mencken ***@***.***> wrote:
after configure, do make install
just ./configure alone wouldn’t give you anything but makefiles
—
Reply to this email directly, view it on GitHub
<#62 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL2YHOS7IA5VFC7AK7BEEUDZAPB3JAVCNFSM6AAAAABDMCSVROVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TGMBYGA4TS>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
it really works now
from the very fresh MSYS2 install, do
and clone the repo
then get all the stuff for building
change the Windows-specific direct.h to the POSIX-s…