Small. Fast. Reliable.
Choose any three.

Примечания по тому, как построить MinGW как кросскомпилятор

MinGW, также известный как Minimalist GNU For Windows, является версией популярного компилятора GCC, который строит двоичные модули Win95/Win98/WinNT.

Эта страница описывает, как можно построить MinGW из источников как кросскомпилятор, работающий в соответствии с Linux. Выполнение этого позволит вам строить двоичные файлы WinNT в Unix.

Вот шаги:

  1. Получите копию исходного кода. Вам будут нужны binutils, компилятор и набор времени выполнения MinGW. Каждый доступен отдельно. Все, в чем вы нуждаетесь есть вместе на одном FTP-сайте: ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1 Эти три файла, в которых вы будете нуждаться:

    Поместите все загрузки в каталог. Продолжение предположит, что все загрузки находятся в каталоге ~/mingw/download.

  2. Создайте каталог, в котором можно установить новый компилятор и сделайте новый каталог перезаписываемым. В зависимости от выбранного каталога, вы, возможно, должны были бы стать root. Команды оболочки в качестве примера, которые следуют, предполагают, что инсталляционный каталог /opt/mingw, а ваш user ID drh.

    su
    mkdir /opt/mingw
    chown drh /opt/mingw
    exit
    
  3. Распакуйте исходные тексты в отдельный каталог.

    mkdir ~/mingw/src
    cd ~/mingw/src
    tar xzf ../download/binutils-*.tar.gz
    tar xzf ../download/gcc-*.tar.gz
    unzip ../download/mingw-*.zip
    
  4. Создайте каталог, в который можно поместить все объекты.

    mkdir ~/mingw/bld
    
  5. Формируйте и постройте binutils и добавьте результаты к своему PATH.

    mkdir ~/mingw/bld/binutils
    cd ~/mingw/bld/binutils
    ../../src/binutils/configure --prefix=/opt/mingw --target=i386-mingw32 -v
    make 2>&1 | tee make.out
    make install 2>&1 | tee make-install.out
    export PATH=$PATH:/opt/mingw/bin
    
  6. Вручную скопируйте включаемые файлы времени выполнения в инсталляционный каталог прежде, чем попытаться построить компилятор.

    mkdir /opt/mingw/i386-mingw32/include
    cd ~/mingw/src/mingw-runtime*/mingw/include
    cp -r * /opt/mingw/i386-mingw32/include
    
  7. Формируйте и постройте компилятор

    mkdir ~/mingw/bld/gcc
    cd ~/mingw/bld/gcc
    ../../src/gcc-*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
    cd gcc
    make installdirs
    cd ..
    make 2>&1 | tee make.out
    make install
    
  8. Формируйте и постройте библиотеку времени выполнения MinGW

    mkdir ~/mingw/bld/runtime
    cd ~/mingw/bld/runtime
    ../../src/mingw-runtime*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
    make install-target-w32api
    make install
    

Собственно, это все...