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
    also

    e:\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's

    myfile.exe: myfile.obj myfile.def myfile.res
    ilink32 -aa -Gn -x c0w32.obj myfile.obj, myfile.exe, , import32.lib cw32.lib, myfile.def , myfile.res

    myfile.res: myfile.rc myfile.cur myfile.ico
    brc32 -r myfile.rc

    myfile.obj: myfile.c
    bcc32 -c -O1 -o$@ myfile.c

    ich 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 -fmakefile

    APP = 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) (RESFILES)(RESFILES) (ILINK32) $(LFLAGS) $(STDOBJS) $(OBJFILES), (EXEFILE),, (EXEFILE), , \ (LIBFILES) $(STDLIBS), $(DEFFILE), $(RESFILES)

    # compile: if you have more source-files clone the fallow 2 lines
    $(OBJFILES) : (SRCFILES)(SRCFILES) (BCC32) (CFLAGS)o(CFLAGS) -o@ $(SRCFILES)

    clean:
    del *.obj *.res *.tds *.map

    in 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.


Anmelden zum Antworten