GCC als Cross-Compiler

Aiju

Gesperrt
Wie kann ich mit der GCC unter Linux Windows binaries erzeugen?
Ich habe bei google haufenweise Erklärungen gefunden, mit denen komme ich jedoch nicht klar. Also : Welche Tarballs muss ich runterladen?
 
Ich habe doch nur den gcc für das Target x86 Linux installiert. Wie installiere ich den unter SuSE 10 den gcc für x86 Linux -> Windows?
 
Aiju hat gesagt.:
Ich habe doch nur den gcc für das Target x86 Linux installiert. Wie installiere ich den unter SuSE 10 den gcc für x86 Linux -> Windows?

Hi,

wie du das genau unter SuSE machst hab ich keine Ahnung :( schau mal nach ob du mit Yast das Paket mingw32 installieren kannst.

Notfalls kannst du dir auch die Sourcen von der MinGW Homepage besorgen.
 
Das Paket mingw32 gibt es nicht. Die binutils habe ich installiert, kompiliere gerade gcc-core
EDIT: fehlgeschlagen!
Er findet stdio.h nicht...
Ich habs so gemacht, ich habe ein mingw Verzeichnis angelegt. Dort dann gcc-core enpackt und ein Verzeichnis build erstellt. Dann hab ich dort rein cd'et und das Skript ausgeführt:
Code:
#!/bin/sh
../gcc-3.4.2-20040916-1/configure --with-gcc --target=mingw32  --prefix=/mingw --enable-threads --disable-nls --enable-languages=c --disable-win32-registry --disable-shared --enable-sjlj-exceptions --without-x --enable-hash-synchronization --enable-libstdcxx-debug
make CFLAGS="-O2 -fomit-frame-pointer" CXXFLAGS="-mthreads -fno-omit-frame-pointer -O2" LDFLAGS=-s 
cd gcc
make CFLAGS=-O2 LDFLAGS=-s LN_S=ln gnatlib_and_tools
 
Zuletzt bearbeitet:
was ist denn der "top most build error" ?
Code:
make[1]: Entering directory `/home/aiju/software/tmp/mingw/build/libiberty'
make[2]: Entering directory `/home/aiju/software/tmp/mingw/build/libiberty/testsuite'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `/home/aiju/software/tmp/mingw/build/libiberty/testsuite'
make[1]: Leaving directory `/home/aiju/software/tmp/mingw/build/libiberty'
make[1]: Entering directory `/home/aiju/software/tmp/mingw/build/intl'
make[1]: Für das Ziel »all« ist nichts zu tun.
make[1]: Leaving directory `/home/aiju/software/tmp/mingw/build/intl'
make[1]: Entering directory `/home/aiju/software/tmp/mingw/build/gcc'
/home/aiju/software/tmp/mingw/build/gcc/xgcc -B/home/aiju/software/tmp/mingw/build/gcc/ -B/mingw/mingw32/bin/ -B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem /mingw/mingw32/sys-include -O2 -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -I. -I. -I../../gcc-3.4.2-20040916-1/gcc -I../../gcc-3.4.2-20040916-1/gcc/. -I../../gcc-3.4.2-20040916-1/gcc/../include   -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time -fno-omit-frame-pointer \
  -Dinhibit_libc -c ../../gcc-3.4.2-20040916-1/gcc/crtstuff.c -DCRT_BEGIN \
  -o crtbegin.o
In file included from ./tm.h:10,
                 from ../../gcc-3.4.2-20040916-1/gcc/crtstuff.c:64:
../../gcc-3.4.2-20040916-1/gcc/config/i386/cygming.h:53:19: stdio.h: No such file or directory
In file included from ./tm.h:10,
                 from ../../gcc-3.4.2-20040916-1/gcc/crtstuff.c:64:
../../gcc-3.4.2-20040916-1/gcc/config/i386/cygming.h:358: error: syntax error before '*' token
../../gcc-3.4.2-20040916-1/gcc/config/i386/cygming.h:358: warning: function declaration isn't a prototype
make[1]: *** [crtbegin.o] Fehler 1
make[1]: Leaving directory `/home/aiju/software/tmp/mingw/build/gcc'
make: *** [all-gcc] Fehler 2
 
Top most build error = am weitest oben stehender Fehler
Aber glibc-dev hast du auf deinem Rechner schon installiert?
Kann nur raten das dir die C Headers Fehlen bzw diese nicht in /usr/include liegen?

Gruß

RedWing
 
Doch die liegen dort, ich habe ja auch schon andere Programme kompiliert. Doch der Compiler scheint sich auch selbst zu kompilieren.
 
Zurück