Installasjon av MinGW-w64-GCC
Notat
Siden du sikter deg inn på en triplett som er forskjellig fra
verten, å kjøre make
install er generelt trygt, i motsetning til en
standard installasjon av en kompilator som kan blokkere
verktøykjeden fullstendig hvis den er bygget feil.
x86_64 Installasjon av MinGW-w64-GCC
Installer x86_64 MinGW-w64-GCC ved å kjøre følgende kommandoer:
mkdir build-x86_64-mingw-w64 &&
cd build-x86_64-mingw-w64 &&
../configure --prefix=/usr \
--target=x86_64-w64-mingw32 \
--enable-threads=posix \
--enable-shared \
--disable-multilib \
--enable-languages=c,c++ &&
make
Nå, som root
bruker:
make install &&
cd .. &&
ln -sfv x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-cc &&
strip /usr/libexec/gcc/x86_64-w64-mingw32/15.2.0/{cc1*,collect2,lto*}
i686 Installasjon av MinGW-w64-GCC
Installer i686 MinGW-w64-GCC ved å kjøre følgende kommandoer:
mkdir build-i686-mingw-w64 &&
cd build-i686-mingw-w64 &&
../configure --prefix=/usr \
--target=i686-w64-mingw32 \
--enable-shared \
--enable-threads=posix \
--disable-multilib \
--enable-languages=c,c++ &&
make
Nå, som root
bruker:
make install &&
ln -sfv i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-cc &&
strip /usr/libexec/gcc/i686-w64-mingw32/15.2.0/{cc1*,collect2,lto*}
Teste Verktøykjeden
Nå som MinGW-w64 kryssverktøykjede er ferdig installert, det er på
tide å teste installasjonen for å forsikre deg om at alt fungerer
som forventet.
Bekreft at de vanlige C og C++ kompilatorene fungerer som de skal:
echo "int main(){}" >> main.c &&
cp -v main.c main.cpp &&
gcc main.c &&
./a.out &&
rm -v a.out &&
g++ main.cpp &&
./a.out &&
rm -v a.out main.{c,cpp}
Hvis du bruker multilib:
echo "int main(){}" >> main.c &&
cp -v main.c main.cpp &&
gcc -m32 main.c &&
./a.out &&
rm -v a.out &&
g++ -m32 main.cpp &&
./a.out &&
rm -v a.out main.{c,cpp}
Test nå MinGW-w64 krysskompilatoren.
For x86_64:
cat >> main.c << "EOF" &&
#include <stdio.h>
int main(){}
EOF
cp main.{c,cpp} &&
sed -i 's/stdio.h/iostream/g' main.cpp &&
x86_64-w64-mingw32-gcc main.c &&
rm -v a.exe &&
x86_64-w64-mingw32-g++ main.cpp &&
rm -v a.exe main.{c,cpp}
For i686:
cat >> main.c << "EOF" &&
#include <stdio.h>
int main(){}
EOF
cp main.{c,cpp} &&
sed -i 's/stdio.h/iostream/g' main.cpp &&
i686-w64-mingw32-gcc main.c &&
rm -v a.exe &&
i686-w64-mingw32-g++ main.cpp &&
rm -v a.exe main.{c,cpp}
Kommandoene ovenfor skal ikke ha noen feil, ellers gikk det noe
galt med installasjonen.
Parameterforklaringer
Notat
Kjør ../configure
--help for en fullstendig liste over
alternativer.
mkdir build; cd
build: GCC dokumentasjonen anbefaler at man bygger
pakken i en dedikert byggemappe.
--enable-shared
: Dette
alternativet aktiverer bygging av delte biblioteker.
--enable-threads=posix
:
Dette alternativet aktiverer støtte for POSIX tråder via
winpthreads biblioteket.
--disable-multilib
: Dette
alternativet sikrer at filer opprettes for den spesifikke
arkitekturen til datamaskinen din.
--enable-languages=c,c++
:
Denne kommandoen bygger støtte for C og C++. Se https://www.linuxfromscratch.org/blfs/view/svn/general/gcc.html
for å finne ut hvilke andre språk som støttes.
make -k check: Denne
kommandoen kjører testpakken uten å stoppe hvis det oppstår feil.
../contrib/test_summary: Denne
kommandoen vil produsere et sammendrag av resultatene fra
testpakken. Du kan legge til | grep
-A7 Summ til kommandoen for å produsere en enda mer
kondensert versjon av sammendraget. Du kan også omdirigere
resultatet til en fil for gjennomgang og sammenligning senere.
Innhold
Det finnes ingen binærfiler spesifikke for denne pakken bortsett
fra formatet kompilatorene sikter seg inn på, og de har derfor
arkitekturtripletten som prefiks, for eksempel x86_64-w64-mingw32-gcc. For
dyptgående beskrivelser, les
https://www.linuxfromscratch.org/lfs/view/development/chapter08/gcc.html#contents-gcc.