Windows Setup
General advice: Keep in mind that you need to spread the DLLs you link to along with your binaries for them to work on other systems.
GNAT Community 2020
- Download and install GNAT Community Edition x86 Windows (64bits) from
AdaCore’s Download Site. This guide assumes you install it to
C:\GNAT\2020
. Make sure thebin
folder is in thePATH
of your shell. - The FreeType library requires the Visual C++ Redistributable libraries for
Visual Studio 2017. Download and install the
x64
version from here and install it. - Download and install OpenGLAda’s Windows installer from the repository’s releases section.
- While GLFW is a static library that is integrated into your binary, FreeType
is a DLL located in
C:\GNAT\2020\lib
and must be spread along with your binary.
TDM-GCC 64bit
These instructions are for building 64bit binaries with TDM-GCC on Windows.
- Download and install the 64bit TDM-GCC compiler from here. In the
installation wizard, make sure to check the (by default unchecked) ada
option. Make sure the
bin
folder is in thePATH
of your shell.
- Download the 64-bit Windows binaries from the GLFW download section (tested with GLFW 3.2.1).
- Open the zip folder and copy the file
glfw3.dll
from thelib-mingw-w64
folder intoC:\TDM-GCC-64\lib
. - If you want to use FreeType, you need at least FreeType 2.7.1. There is an
semi-official GitHub repository which hosts current Windows binaries
known to work; get the
freetype.dll
file from thewin64
folder and copy it intoC:\TDM-GCC-64\lib
. - The FreeType library requires the Visual C++ Redistributable libraries for
Visual Studio 2017. Download and install the
x64
version from here and install it. -
Open your shell and navigate to the root folder of OpenGLAda. Execute:
$ gnatmake -p -P opengl-test.gpr -XWindowing_System=windows $ gnatmake -p -P opengl-text-test.gpr -XWindowing_System=quartz
This should produce executables in the
bin
folder inside OpenGLAda. - You can now either add
C:\TDM-GCC-64\lib
to yourPATH
or copy the DLLs from there to thebin
folder. One of those two options is necessary so that the binary can find the dll.