|
Step by step guide for installing static binaries |
Johan Halmén
Member #1,550
September 2001
|
Many of us seem to struggle with getting A5 to work. I have a new machine and have big difficulties in getting the right libraries working. Before I tell about my lousy attempts, I want to know if there are any guides about how to install A5 on Code:;Blocks and Mingw. The newest binaries of A5 and dependencies seem to have a bit differing file list from those explained on the Wiki here: I have Code::Blocks 16.01, Mingw 6.2.0, 64 bit Windows. I've downloaded allegro-mingw-gcc6.2.0-x64-static-5.2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
SiegeLord
Member #7,827
October 2006
|
There are no up-to-date guides for MinGW, as far as I know. I'm guessing the issue most people run into is that they don't match the mingw distro/version with the ones in the binaries... there's like 3 types of MinGWs out there, and they keep changing gcc versions every few months as well. I'm guessing the main issue, however, is matching the exception handling mechanism and the threads which are the common differences between MinGWs. Embarrassingly, I don't know which ones the binaries use (it's whatever the default is for MSYS2). "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
Johan Halmén
Member #1,550
September 2001
|
As I wrote, I downloaded allegro-mingw-gcc6.2.0-x64-static-5.2.2. C:\Users\admin_johha>gcc --version gcc (x86_64-win32-sjlj-rev1, Built by MinGW-W64 project) 6.2.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. C:\Users\admin_johha>g++ --version g++ (x86_64-win32-sjlj-rev1, Built by MinGW-W64 project) 6.2.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Could the "sjlj-rev1" thing be the problem? If so, where is that explained? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
SiegeLord
Member #7,827
October 2006
|
So I looked it up, and the binaries were created with these parameters: 32 bit: Version: 6.2.0 64 bit: Version: 6.2.0 Revision is probably unimportant. You, on the other hand have a compiler with these parameters: 64 bit: Version: 6.2.0 So almost a complete mismatch. I'll include that information in the binary names next time, as it is pretty important... "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
Johan Halmén
Member #1,550
September 2001
|
{"name":"930-7c5a556c196d35c3fbb0dc8d0ed66f9b.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/5\/b515214a9ca423c131664503f2628513.png","w":299,"h":183,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/5\/b515214a9ca423c131664503f2628513"} Now I have a working setup for my Windows 64 with Mingw, c/c++, and Allegro 5.2.2 It was the posix and seh things that was the problem. Though I have a slight clue about what they are, I really missed their importance in choosing the right compiler. So getting Allegro 5 work on 64 bit for Windows, Code::Blocks and Mingw included the following: Get the latest Code::Blocks from here: http://www.codeblocks.org/downloads/26 Get the right Mingw from this page: https://sourceforge.net/projects/mingw-w64/files/ At this point I checked that Code::Blocks worked with Mingw. In Settings->Compiler settings it should look like this: {"name":"610796","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/3\/b392312e6daaf159462bb0eba9278221.png","w":794,"h":584,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/3\/b392312e6daaf159462bb0eba9278221"} All the program files should be found in C:\CodeBlocks\mingw64\bin, if you have to pick them at this point. If you installed Code::Blocks with Mingw, there might be an extra Mingw subdirectory in the path. Next thing was to download the Allegro 5 stuff from here: http://download.gna.org/allegro/allegro-bin/5.2.2/ Next download the Allegro dependencies from here: http://download.gna.org/allegro/allegro-deps/1.5.0/ To get an Allegro5 project compiling in Code::Blocks, you now have to include all these libraries. Having your project open, go to Project->Project build options, pick Linker settings tab and add the following libraries from C:\CodeBlocks\mingw64\lib. libdumb.a libFLAC.a libfreetype.a libjpeg.a libogg.a libopus.a libopusfile.a libphysfs.a libpng16.a libtheoradec.a libvorbis.a libvorbisfile.a libzlib.a Actually I haven't included all of these. I guess I have to include all the missing ones, if my code requires some of these. Next set of libraries to be included in the project are in the C:\CodeBlocks\mingw64\x86_64-w64-mingw32\lib folder. There are 15 files. The list I got from this thread. Check code line 34 and further: libgdiplus.a libuuid.a libkernel32.a libwinmm.a libpsapi.a libopengl32.a libglu32.a libuser32.a libcomdlg32.a libgdi32.a libshell32.a libole32.a libadvapi32.a libws2_32.a libshlwapi.a
Finally there are two library files yet to be included: These two I found in C:\CodeBlocks\mingw64\lib\gcc\x86_64-w64-mingw32\6.2.0 Since the order of the linked libraries is important, here's a screenshot of the order. Especially vorbisfile and vorbis have their peculiar place in the list. Don't know if it's important, but that's how it's shown in every previous guide. {"name":"610797","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/3\/539abf02e668e5d66f25f18766929c1a.png","w":519,"h":649,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/3\/539abf02e668e5d66f25f18766929c1a"} [to be continued...] References
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
SiegeLord
Member #7,827
October 2006
|
Awesome, we should update the wiki once it's stable. I don't think the vorbis and ogg need to be in that exact spot, probably anywhere after the acodec addon should work. "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|