bcc5.6 und SDL
-
wenn ich dass erste und das 2. bsp aus SDLdoc1.2.8 verwende also mit orignal code per copy&paste in datei einfüge(1.cpp bzw 2.cpp)
und jeweils in verschieden vorgangen compiliere linke dan erhalte ich bei der exe die fehlermeldung:
"keine zulässige WIN32 anwendung"
woran liegt dass?
ich habe den cbuilder 6(also bcc32 5.6) habeaber in der console gearbeitet weil
der bcb immer in SDL_types.h
eine auskommentierten fehler gebracht hat
ind der console abe nicht
ausserdem verwende ich SDL 1.2.8 die vc++ version die ich mit impdef und implib im borland dinger gamascht hab die ich dann dem linker gegeben hab
-
poste mal komplett wie du deinen linker aufrufst. also
linkerschalter
obj-files
lib's
und so weiter. bitte ausführlich. nicht das weis eh jeder .....ich kenne 4 1/2 wege den ilink32 aufzurufen. wer kennt noch mehr?
1.per bcc32 -> hier wahrscheinlich weniger geeignet
2.per batch-file
3.per steuerungs-file: ansätze; leider nicht komplett: www.ghostpage.de
4.makefile
1/2 ilink32.cfg-file -> 0.5 weil die vorgenannten wege die einstellungen der
cfg-files (+ bcc32.cfg) überschreiben!mfg f.-th.
-
ach ja, das in diesem fall naheliegenste vergessen, die borland-IDE so wie
ich vermute.
hab leider keinen cbuilder6.0.mfg f.-th.
-
über ide geht ja net da mosert der compiler ja wegen der SDl_types.h
in der consolke aber net
alsoe:\projecte\sdl\1>bcc32 -c main.cpp main.obj e:\projecte\sdl\1>ilink32 main.obj -o main.exe -Le:\libs\sdl\libSDL.lib
-
hab jetzt nicht dran gedacht, ist auf dem anderen rechner.
du must noch mindestens 2 lib's aus dem borlandpaket einbinden, hab leider
die namen vergessen; weis aber wo's steht, muss nachsehen.
ich programmiere nur aus spass deswegen: soll das ergebnis ein win-programm
sein must du "ilink32 -aa usw." eingeben. den rest muss ich nachsehen.mfg f.-th.
-
hallo
nun folgt die kurzversion eines makefile:# simple makefile example to borland free bcc 5.5: link a win2k-exe
# optimize the switches and filenames to your system
# c0w32.obj + import32.lib + cw32.lib are files by the free bcc5.5 system -> look the subdir'smyfile.exe: myfile.obj myfile.def myfile.res
ilink32 -aa -Gn -x c0w32.obj myfile.obj, myfile.exe, , import32.lib cw32.lib, myfile.def , myfile.resmyfile.res: myfile.rc myfile.cur myfile.ico
brc32 -r myfile.rcmyfile.obj: myfile.c
bcc32 -c -O1 -o$@ myfile.cich hoffe du kannst's an dein projekt anpassen.
und auch noch eine längere variante:
# makefile example to borland bcc 5.x
# you must run it like: make -fmakefileAPP = main
EXEFILE = $(APP).exe
OBJFILES = $(APP).obj
RESFILES =
# the next line you must add your spezial lib: PATH + SD...
LIBFILES =
DEFFILE =
SRCFILES = $(APP).cpp.AUTODEPEND
BCC32 = bcc32
ILINK32 = ilink32
BRC32 = brc32# take your PATH !!!
BCCROOT = C:\Borland\bcc55# -D_WIN... ---> compiled to win95/98 and NT ---> minmal CFLAGS = -c to w2k and higher
CFLAGS = -c -q -O1 -v- -D_WINVER=0x0400 -D_WIN32_WINNT=0x0400
LFLAGS = -Tpe -aa -c -Gn -x
RFLAGS = -X -R
STDOBJS = c0w32.obj
STDLIBS = import32.lib cw32.lib# link: look www.ghostpage.de
$(EXEFILE) : $(OBJFILES) (ILINK32) $(LFLAGS) $(STDOBJS) $(OBJFILES), (LIBFILES) $(STDLIBS), $(DEFFILE), $(RESFILES)# compile: if you have more source-files clone the fallow 2 lines
$(OBJFILES) : (BCC32) @ $(SRCFILES)clean:
del *.obj *.res *.tds *.mapin der längeren ist noch irgendwo ein kleiner "haken" aber meine
projekte hat's bisher erfolgreich bewältigt.ich hab den freien bcc5.5, wenn kein switch angegeben ist compiliert der
für w2k und ähnliche. die resultate können auf win95/98/me laufen müssen
dies aber nicht (fehlerfrei?) machen, wenn man vergessen hat die schalter
zu setzen.
für die console link-switch -aa tauschen und eine der borland-files.
es gibt auch kürzere zeilen mit weniger komma beim ilink32 aber aber die
funktionieren oft nicht zuverlässig.
ich hab auch ein projekt, das nur funktioniert, wenn die obj-files wie
in den makefiles beschrieben compiliert werden. auch hier es gibt kürzere
varianten die aber nicht immer funktionieren.
p.s. für vollständigkeit wird keine haftung übernommen.mfg f.-th.