-
Notifications
You must be signed in to change notification settings - Fork 1
How to Compile (Windows Vista 32bit)
(2024, March 5th)
This guide will show you how to compile ABS-Fractal-Explorer v1.0.2 on a Windows Vista 32bit system. You will also need an internet connection.
7-Zip: https://7-zip.org
Very handy for unzipping/extracting files. Latest version works on Windows Vista 32bit
Notepad++ (6.2.3): https://notepad-plus-plus.org/downloads/
A decent text editor that supports syntax highlighting. Most recent version won't work, but version 6.2.3 does work on Windows Vista 32bit. Not sure if version 7.X.X or later works
Displaying Hidden Folders and File Extensions:
It can be annoying to navigate through File-Explorer when file extensions and hidden folders are not shown. To fix this, go to Computer/File-Explorer, then click on Organize
, and select Folder and Search Options
. Click on the View
tab, and click on Show hidden files and folders
as well as unchecking Hide extensions for known file types
.
This is the original MinGW, not MinGW64. To download, go to the link mentioned in the Wikipedia page https://en.wikipedia.org/wiki/MinGW, which is osdn.net/projects/mingw at the time of writing. The website may take awhile to respond, you may have to reload the webpage, or go back to it later if you can't connect. You go through the download steps and install it, then you wait awhile for everything to download from the same slow to respond website.
Once you are in the MinGW Installation Manager, select Basic Setup
on the far left, then Right-Click and Mark for Installation
the following items: mingw-developer-toolkit-bin
, mingw32-base-bin
, mingw32-base-bin
, mingw32-gcc-g++-bin
, and msys-base-bin
. Afterwards, select Advanced Setup
on the far left, then look for mingw32-pthreads-w32-dev
and mark it for installation. When you are ready to install the packages, go the the top left, click on Installation
, then click Apply Changes
.
Go to something like C:\MinGW\bin
in Command Prompt as an Admin, and then run mklink make mingw32-make.exe
.
Follow these directions Start --> Computer --> Right Click --> Properties --> Advanced System Settings --> Advanced --> Environment Variables
, Then click on Environment Variables
, afterwards click on the row that says Path
under System variables
and click Edit
. You will see some dialog box, go to the end of it, which might display something like ;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
, type ;C:\MinGW\bin
at the end of it.
Download SDL2-devel-2.0.3-mingw.tar.gz from libsdl.org, or download it directly from here. Since we are on a 32bit system, we will use i686-w64-mingw32
. Take the bin, include, lib, and share directories and copy them over into C:\MinGW
. According to some Stack-Overflow posts, SDL2-devel-2.0.3 has some bug with winapifamily.h
, to fix it replace the code in SDL_platform.h
with this: https://raw.githubusercontent.com/libsdl-org/SDL/1496be6e4b3d732eaa46a691590cb06a630c866b/include/SDL_platform.h.
#include<thread>
and std::thread don't work in MinGW out of the box, so we will have to use a work around to fix this. You can obtain some header files from this GitHub Repo: https://github.com/meganz/mingw-std-threads. Afterwards copy the header files into the ./src directory of ABS-Fractal-Explorer v1.0.2.
mingw.thread.h
may ask you to to define _WIN32_WINNT
. Defining it it gamma.h
can result in redefinition warnings, so one thing you can do is going to lines 60 to 62 of mingw.thread.h
, commenting them out, and adding the code below to set _WIN32_WINNT
for mingw.thread.h
. You can also comment out lines 44 to 46 to remove/dismiss the pragma message that pops up.
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#endif
0x0600
is NT 6.0 (Windows Vista), and 0x0601
is NT 6.1 (Windows 7). Other operating system codes are listed here: https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
Additionally, you can uncomment #define DISABLE_MULTITHREADING
in gamma.h
to compile ABS-Fractal-Explorer v1.0.2 without multi-threading.
stb is needed to write/save images. You can place the folder with all of its include files in MinGW\include\stb
SDL2 and stb_image don't come with MinGW/MSYS, so they have to be copied in manually. You could probably copy them over from MSYS2, from either C:\msys64\mingw64
or C:\msys64\mingw32
. You place in C:\MinGW
as shown in MinGW.zip.
(I haven't tried to use Git Bash on Windows Vista yet, so you may have to clone the repo through other means, such as downloading the zip file of the repo)
Navigate to C:\MinGW\msys\1.0
and click on msys.bat
. Set MSYS to the project directory by copying the file path in quotations. To paste the file path, you do Ctrl Shift Insert
, or you can right click the title-bar and go to the Edit
menu. Once you have the current directory set,
If you run the .exe
on Windows 10, Windows defend may flag the program for Win32/Wactac.B!ml
. To prevent this from happening, you will have to run a strip
command on the .exe
to remove all symbols and debug information. After the code compiles in MSYS, you would just need to type strip ./bin/Program-Name.exe
. This also has the additional benefit of reducing the size of the executable.
See Also: