Deutsches Simutransforum

Normale Version: Cross compiler für Windows (unter Linux) - brauch paar Tipps
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Nachdem wernies nightly Server mal wieder nicht läuft wollte ich mich gerade selbst daran machen auf meiner Linuxkiste Windows binaries zu erstellen stehe aber nun gerade an Big Grin

Das erste kleine Problem war, daß er versuchte 64bit binaries zu abuen obwohl mein mingw für 32bit ist, konnte aber leicht behoben werden
Zitat:ifeq ($(OSTYPE),mingw)
CC ?= gcc
SOURCES += simsys_w32_png.cc
CFLAGS += -mno-cygwin -DPNG_STATIC -DZLIB_STATIC -march=pentium
CFLAGS += -m32
ifeq ($(BACKEND),gdi)
LIBS += -lunicows
endif
LIBS += -lmingw32 -lgdi32 -lwinmm -lwsock32 -lz -lbz2
endif
(grüne Zeile hinzugefügt)

Dann kracht es aber wegen dem Cygwin:
Code:
% make
===> CC  simsys_w32_png.c
cc1: error: unrecognized command line option "-mno-cygwin"
make: *** [simsys_w32_png.o] Fehler 1

Nehme ich das (oben rot) heraus dann hängt es an folgendem:
Code:
simsys_w32_png.c:6:21: fatal error: windows.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.

Vorschläge?
Blöde frage, aber hast du den richtigen Compiler ausgewählt? Der muss irgendwie "static-gcc-mingw32" oder so heißen. Das kannst du unter deinen Optinen setzten.
Zitat:Original von prissi
Blöde frage, aber hast du den richtigen Compiler ausgewählt? Der muss irgendwie "static-gcc-mingw32" oder so heißen. Das kannst du unter deinen Optinen setzten.

Damit bin ich shcon weitergekommen, ich probier noch rum und melde dann das Ergebnis Wink
Wenn die Datei windows.h fehlt, dann hast du irgendwelche Headerdateien nicht verfügbar. Warum die nicht da sind, und ob du die über irgendwelche -dev Pakete nachinstallieren kannst weiß ich nicht.
Also das der nightly-Server nicht wollte lag nicht am Server sondern am nicht erreichbaren SVN ....

Aber wenn DU bauen willst .. auf welche Distri läst Du es denn laufen?

Auch der Nigtly-Server ist ein 64Bit-System (allerdings multilib) mit einem 32Bit mingw32
Vielleicht sind hier noch ein paar nützliche Hinweise ...
http://wiki.openttd.org/Cross_Compiling
Zitat:Original von prissi
Vielleicht sind hier noch ein paar nützliche Hinweise ...
http://wiki.openttd.org/Cross_Compiling

Ok, ich glaub mir fehlt noch die zlib und libpng in mingw32 gerechter Form Tongue
Wie sieht Deine config.default aus?

Angehängt meine, die "-V 3.4.6" kommen daher, da ich genau diese Compilerversion wollte, kab mal ein Info von prissi dazu ....

Code:
BACKEND = gdi
COLOUR_DEPTH = 16
OSTYPE = mingw
DEBUG = 3    # Level 1-3, higher number means more debug-friendly, see Makefile
OPTIMISE = 1 # Add umpteen optimisation flags
WITH_REVISION = 1
FLAGS = -DSTEPS16

CCFLAGS = -V 3.4.6
CXXFLAGS = -V 3.4.6

CC=mingw32-gcc
CXX=mingw32-c++
LD=mingw32-ld
AR=mingw32-ar
AS=mingw32-as
NM=mingw32-nm
STRIP=mingw32-strip
RANLIB=mingw32-ranlib
DLLTOOL=mingw32-dlltool
OBJDUMP=mingw32-objdump
RESCOMP=mingw32-windres
WINDRES=mingw32-windres
Zitat:Original von wernieman
Wie sieht Deine config.default aus?

Angehängt meine, die "-V 3.4.6" kommen daher, da ich genau diese Compilerversion wollte, kab mal ein Info von prissi dazu ....

Danke, das hatte ich im Grunde eh so ähnlich, hab die Compilerflags nur alle ins Makefile geschrieben aber in der config ist sicher besser, die wird nicht überschrieben Wink
Jetzt kümmer ich mich mal drum die bzlib richtig zu kompilieren...
Eigentlich brauchst Du nur die passenden header-Files zu "verlinken" .....
Seiten: 1 2 3