Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#79 MinGW support for IT++

Omid Rouhani


My name is Omid and I currently summer work at
In our group we need to use IT++ together with the
MinGW-compiler (Minimalist GNU for Windows;
www.mingw.org). The current release of IT++ can't be
compiled with MinGW. However, this can easily be fixed
by just adding a few lines of code to IT++.

I suggest that the next release of IT++ should contain
these changes and be compatible with MinGW. With this
post I have attached a document that describes exactly
what changes must be made to IT++ to make it MinGW

The changes are really small and for me it would be a
matter of a few minutes to make the changes from
scratch. Only two files need to be changed, but I have
made a few additional suggestions for improvement at
the bottom of the document.

The document is written in Swedish. However, since
most (all?) IT++-developers are swedish I guess it won't
be any problem.

Here is the abstract of the document is:

Detta dokument visar hur man lätt (med nĺgra fĺ extra
raders kod) kan fĺ IT++ att bli kompatibelt med
kompilatorn MinGW. Med den senaste versionen av IT++
(version 3.7.3) sĺ gĺr det inte att kompilera IT++ med

Dokumentet visar även hur man sedan kan kompilera
program som använder sig av IT++ med MinGW.

Avslutningsvis ges en lista med exakt vilka ändringar som
mĺste göras i IT++ för att det ska bli helt och hĺllet
MinGW-kompatibelt. Samtliga ändringar är smĺ ändringar
som kan göras med en relativt liten arbetsinsats.

Feel free to contact me with any questions or comments.


  • Omid Rouhani
    Omid Rouhani

    Hur man kompilerar och kr IT++-program med MinGW

  • Jianhong Wang
    Jianhong Wang

    Logged In: YES

    I also want to use MingW complie IT++. If you can translate
    the pdf document into English, that will be a great help.

    Basically I think I have figured out what I should do and
    compiling is fine. However the make at tests folder still has
    some problems. Any hints?

    Thanks a lot for your great job.

  • Omid Rouhani
    Omid Rouhani

    Logged In: YES

    If you have successfully compiled the IT++ using MinGW
    (mingw32-g++.exe) and you have problems compiling your
    test scriptsyou should:
    1) If you use Cygwin: Make sure you use Windows paths
    when using MinGW (that is, avoid giving flags like -
    I/my/include, but instead use -Ic:\my\include (note the
    double )).
    2) It seems that there is a bug in MinGW when linking files
    that uses the signgam variable declared in math.h.
    To be able to compile and link your IT++ files you must make
    sure that you somewhere create a variable "int signgam=0" in
    your program.

    That is, if your program looks like (which is a valid program in
    GCC but not with MinGW):

    include <math.h>

    include <stdio.h>

    int main(void)
    printf("value: %i",signgam);
    return 0;

    Then replace it with (which is valid in MinGW):

    include <math.h>

    include <stdio.h>

    include <addsigngam.h>

    int main(void)
    printf("value: %i",signgam);
    return 0;

    Where Addsigngam.h:

    ifndef SIGNGAM_ADDED

    define SIGNGAM_ADDED

    int signgam=0;


    Since some functions in IT++ uses signgam, any test files
    that you have that directly or indirectly uses this functions
    can not be linked unless you in your code include
    this "addsigngam.h" file.


  • Johan Bergman
    Johan Bergman

    Logged In: YES

    Hej Omid,

    I have made changes in scalfunc.h and timing.cpp according
    to your proposal.


  • Logged In: YES

    Changes have been checked into CVS by Johan Bergman.


  • Johan Bergman
    Johan Bergman

    Logged In: YES

    I have not done all the requested changes yet, only the most
    urgent ones. Maybe this bug report should be re-opened,
    maybe as a feature request?