Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Cross compiler für Windows (unter Linux) - brauch paar Tipps
#1
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?
Zitieren
#2
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.
Zitieren
#3
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
Zitieren
#4
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.
Zitieren
#5
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
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#6
Vielleicht sind hier noch ein paar nützliche Hinweise ...
http://wiki.openttd.org/Cross_Compiling
Zitieren
#7
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
Zitieren
#8
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
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#9
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...
Zitieren
#10
Eigentlich brauchst Du nur die passenden header-Files zu "verlinken" .....
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste