MinGW
MinGW (Minimalist GNU for Windows) is an open source development environment for Microsoft Windows applications. It includes a port of the GNU Compiler Collection (GCC) which enables code developement using gcc (more info: MinGW home page, wiki).
- Download gcc from http://www.equation.com/ → Home/Programming Tools (upper left) → Fortran, C, C++ → choose a self-extracting gcc file (e.g. version 4.7.3) for the right architecture (as mentioned use 32 bit for both 32-bit and 64-bit Windows).
- During installation change installation folder to C:\MinGW
- Add c:\mingw\bin to system path variable (adding directories to path variable link)
- Set environment variable MINGW_HOME to C:\ MinGW (needed for using Eclipse on Windows)
- Look for mingw32-gcc.exe in C:\MinGW\bin. If the file does not exist and appears under a different name such as i686-pc-mingw32-gcc.exe copy it in the same place and rename it to mingw32-gcc.exe. This step is again needed for using Eclipse on Windows. For more information refer to here if Eclipse is not linked to gcc).
Eclipse IDE for C++
Boost
Boost (link) provides a variety of libraries and functionalities for C++ programmers. Get the latest version for the correct version of VC and Windows from:
http://sourceforge.net/projects/boost/files/boost-binaries/
For example: boost_1_55_0-msvc-9.0-32.exe is version 55 for Win32, VC version 9.0 (2008) . For other compilers choose the appropriate download and installation mechanism. For other compiler installations follow the instructions on boost and here for linking library and include files with gcc (projects).
GSL – GNU Scientific Library
Ftrom GSL official site: “The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.” GSL can be used for a variety of computational aspects in our codes.
Installation
- Windows
- Visual Studio: Precompiled versions can be found at here which links to install files for various VC++ versions here. After installation follow one of the approaches discussed here to include/link GSL header/library files to another C++ program (adding to VC default folders is recommented).
- MinGW: In this case gcc precompiled files can be obtained from here. Choose Download → “Complete package, except sources” → download and run Setup. Depending on system architecture lib, include, bin, man, share, etc. files of GSL will be added to a GnuWin folder (C:\Program Files (x86)\GnuWin32 on my system). Library and header files in lib and include directories can be connected to target C++ projects using any of the methods described here. For example with MinGW the contents of these folders can be added to corresponding default folder in MinGW.
- Other systems (Linux, Mac, etc.): Follow the instructions here. Linking library and include files with gcc (projects) are described here.
MathGL
MathGL is an excellent library for making high-quality scientific graphics. It is developed by Alexey Balakin (YouTube video), see also thanks. This program can be used natively in C++ to create various graphics. Some useful likes are:
- Top page.
- Installation instructions and download files (source files and documentation PDF).
- Pictures.
Installation of MathGL
- Install MinGW (top of the page).
- Install Eclipse IDE (suggested for easier code development).
- Install LibPng from here gnuwin (or directly from LibPng): Run “Complete package, except sources” Setup → lib, include, bin, man, share, etc. files of GSL will be added to a GnuWin folder (C:\Program Files (x86)\GnuWin32 on my system) → connect lib and include directories to target C++ projects using any of the methods described here.
- Based on installation method 2 in installation instructions “one needs only to unpack the archive to the location of the compiler (i.e. mathgl/lib in mingw/lib, mathgl/include in mingw/include and so on). This process is described in more detail here.