Seite 2 von 2

Re: Probleme beim Umstieg (2)

Verfasst: Mo, 08. Jan 2018 18:43
von Manfred
Sorry, ich habe mich ans falsche Thema angeklemmt.
Mein Problem war die XPJ Datei. Das scheint aber jetzt durch Georgs Tipp mit dem TARGET_DIR behoben zu sein.

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 6:42
von brandelh
Manfred hat geschrieben: Di, 07. Nov 2017 13:32 weder .\obj noch ..\obj klappen
nur zur Vollständigkeit ".." ist das Verzeichnis ÜBER dem aktuellen, "." ist das aktuelle Verzeichnis.
Auf einem lokalen Rechner müssten beide zugreifbar sein, aber es kann auch sein, dass "..\" nicht zugreifbar ist (Rechteverwaltung), ".\..\" aber schon, bei WEB-Server CGI-Programmen ist das z.B. der Fall ;-)

Ansonsten, welcher TIPP zu TARGET_DIR (Verzeichnis in dem die EXE / DLL erzeugt wird) ?

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 6:50
von Manfred
Hi Hubert,
es wird (in meinem fall) einfach ins XPJ File

Code: Alles auswählen

TARGET_DIR lw:\verzeichnis\
eingetragen und dann klappt alles. Es muß kein PRG File nichts mehr angepasst werden. Der Compiler meckert nicht mehr über die INCLUDE Dateien usw., die er nicht findet und schreibt die OBJ Dateien auch da hin wo sie imer hingeschrieben wurden. Ich kann das alles gar nicht glauben, das es eigentlich so einfach ist umzustellen. Aber ich teste gerade die fertigen Ergebnisse auf einem Extra Rechner.

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 7:42
von brandelh
Wenn ich mein Programm mit PBUILD aus der CMD Zeile compiliere läuft alles sauber durch.
Aus der Workbench jedoch meckert er, dass diese CH fehlt:

#include "ANW_ALLG.CH"

die ist aber natürlich als Datei im PRG Verzeichnis enthalten.

#include ".\ANW_ALLG.CH"

hilft auch nicht, in der Workbench kann man scheinbar aber die projekt.xpj gar nicht direkt ändern oder ?

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 7:54
von Manfred
Hubert,
es ist sehr wahrscheinlich bei mir etwas anders, als bei Dir. Ich habe meine Quellcodes woanders, als die fertige Exe. Die Quellcodes werden compiliert, die Obj Dateien kommen parallel zu den PRG in ein Verzeichnis, aber die Exe werden sofort in das Zielverzeichnis erzeugt, welches ganz woanders liegt. Das passiert, in dem in der XPJ Datei dieses Verzeichnis nebst Laufwerk angegeben wird. Das klappte bisher unter der 1.90x Version. Ab der 2er versucht der Compiler (wenn ich das XPJ File nicht anpasse) das OBJ Verzeichnis im Zielverzeichnis der Exe anzulegen und nimmt alle relativen Angaben aus der XPJ zum Zielverzeichnis. Das bringt dann Probleme, die ich anfangs (Armin in einem anderen thread auch) erwähne. Wenn ich nun TARGET_DIR einfüge und da dann das Zielverzeichnis der EXE eintrage, dann klappt alles wie gewohnt von er 1.90er Version auch mit der 2.0 Version. Der parameter ist neu seit der 2er Version. Da ich aber zu faul/tranig zum Lesen war.......

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 7:57
von Wolfgang Ciriack
Rechte Maustaste, zeige XPJ-Datei, dann über Datei Speichern. Ist aber sehr umständlich.

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 8:08
von AUGE_OHR
moin,

ich verwende die Linker Option OBJ_DIR zusammen mit der Compiler Option /o\OBJ\

Code: Alles auswählen

[PROJECT]
    COMPILE_FLAGS = -q -w /o\OBJ\
    OBJ_DIR       = .\OBJ
    ...

[PROJECT.XPJ]
    C:\ALASKA\XPPW32\LIB\DXE.DLL

[C:\ALASKA\XPPW32\LIB\DXE.DLL]
    COMPILE_FLAGS = /dll:dynamic /n /q /w /o\OBJ\ /DDC2012 /DUSEOW
// $START-AUTODEPEND
    DXE_2012.RES
    DXEINIT.OBJ
    DXE_BMP.OBJ
   ---
// $STOP-AUTODEPEND
    DXE_2012.ARC
    DXEINIT.PRG
    D:\ALASKA\NATIVE\DXE\DXE_BMP.PRG
    ...

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 8:14
von Manfred
Jimmy,
unter Xbase 2.0 und der Workbench?

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 8:25
von AUGE_OHR
hatte ich von der v2.0.257 "alpha" wo ich Probleme mit RAMdisk und OBJ_DIR hatte.

der Compiler wollte die nicht auf die RAMdisk schreiben.
erst mit der Compiler Option /o ging es mit der v2.0.257

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 8:54
von brandelh
brandelh hat geschrieben: Di, 09. Jan 2018 7:42 Wenn ich mein Programm mit PBUILD aus der CMD Zeile compiliere läuft alles sauber durch.
Aus der Workbench jedoch meckert er, dass diese CH fehlt:

#include "ANW_ALLG.CH"

die ist aber natürlich als Datei im PRG Verzeichnis enthalten.

#include ".\ANW_ALLG.CH"

hilft auch nicht, in der Workbench kann man scheinbar aber die projekt.xpj gar nicht direkt ändern oder ?
nachdem ich alle diese Zeilen mit ".\" in allen PRG getauscht habe, ist diese Fehlermeldung weg (hätte ich gleich drauf kommen können).
Danach musste ich noch unter "Werkzeuge \ Umgebungs Optionen \ Verzeichnisse" die LIB und CH anpassen, denn OT4XB soll ja nicht mehr in die Standardverzeichnisse.
Nun kompiliert er ... aber die EXE (im PRG Verzeichnis) startet dennoch nicht aus der Workbench.

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 9:51
von DelUser01
Hallo Manfred,

das mit den Pfaden hatte mir bei der Umstellung auch einiges an Kopfzerbrechen bereitet.
Ich arbeite noch immer ohne Workbench, da ich bzw. Alaska noch keine Lösung dafür habe/hat wie meine querverbundenen Projekte in der Workbench verarbeitet werden können.

Mit TARGET_DIR werden nicht alle erzeugten Files dorthin umgeleitet.
DEF, EXP, LIB bleiben auch in dem Verzeichnis liegen in welchem kompiliert wird.
Die kopiere ich dann am Ende per BAT ins TARGET_DIR, sonst läufts nicht rund.
Da die DEF, EXP, LIB im weiteren Verlauf nicht im TARGET_DIR gesucht werden müssen diese auch im ursprünglichen Verzeichnis bleiben, die habe ich also doppelt.
Vielleicht gibt es aber auch schon eine Verbesserung und ich habe das noch nicht gefunden...

Beispiel:

Code: Alles auswählen

[PROJECT]
    DEBUG         = yes
    OBJ_FORMAT    = COFF
    POST_BUILD    = ..\batch\post_build.bat
    VERSION       = 2.2
    PROJECT.XPJ

[PROJECT.XPJ]
    GSG1WAA1.DLL
    GSG1B.DLL
    GSG1A.DLL
    GSG1D.DLL
    GSG1C.DLL
    GSG1.EXE
    GSX1.EXE

[GSG1.EXE]
    COMPILE       = xpp
    COMPILE_FLAGS = /q /m /n /dll:dynamic
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    = /pm:pm
    RC_COMPILE    = arc
    RC_FLAGS      = /v
    DEBUG_SAVE    = yes
    OBJ_DIR       = .\obj\
    TARGET_DIR    = ..\exe\
// $START-AUTODEPEND
    .\GSG1WAA1.lib
    .\GSG1B.lib
    .\GSG1A.lib
    .\GSG1D.lib
    sql.ch
    appevent.ch
    winnt.ch
    get.ch
    prompt.ch
    memvar.ch
    collat.ch
    std.ch
    gs.ch
    set.ch
    natmsg.ch
    .\GSG1C.lib
    G1.obj
// $STOP-AUTODEPEND
    ADSUTIL.LIB
    ASCOM10.LIB
    G1.RES
    GSC3.LIB
    GSG1A.LIB
    GSG1B.LIB
    GSG1C.LIB
    GSG1D.LIB
    GSG1WAA1.LIB
    GSH1.LIB
    GSLIB1A.LIB
    GSLIB1B.LIB
    GSLIB1C.LIB
    GSLIB1D.LIB
    GSLIB2A.LIB
    GSLIB3A.LIB
    GSLIBDEV1A.LIB
    GSR4.LIB
    ot4xb.lib
    WS1LIB1.LIB
    PRG\G1.PRG

Re: Probleme beim Umstieg (2)

Verfasst: Di, 09. Jan 2018 10:19
von Manfred
so sieht eine XPJ jetzt aus und damit klappt es

Code: Alles auswählen

[PROJECT]
    DEBUG         = yes
    VERSION       = 2.2
    fahrdienstverwaltung.XPJ

[fahrdienstverwaltung.XPJ]
    fahrdienstverwaltung.exe

[fahrdienstverwaltung.exe]
    COMPILE       = xpp
    COMPILE_FLAGS = /wi /wu /q /w
    DEBUG_SAVE    = yes
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    = 
    RC_COMPILE    = arc
    RC_FLAGS      = /v
    OBJ_DIR       = obj\
    TARGET_DIR    = z:\projekte\verkehrsbetriebe\fahrdienstverwaltung\programm\   <---------- das ist wichtig. dann klappt es auch mit der Nachbarin.
    PRE_BUILD     = - del obj\*.obj                                                                             <---------- das wird sonst in das verzeichnis geschrieben in das die EXE kommt.
    PRE_BUILD     = - del z:\projekte\verkehrsbetriebe\fahrdienstverwaltung\programm\fahrdienstverwaltung.exe
// $START-AUTODEPEND
    fahrdienstverwaltung.res
    ablaufendegueltigkeitenvt.obj
    csv_aktivefahrer.obj
    fahrdienstklassen.obj
    fahrdienstverwaltung.obj
    fahrervt.obj
    feiertagevt.obj
    ferienvt.obj
    firmenstamm.obj
    freizeitartenvt.obj
    gueltigkeitsbezeichnungen.obj
    importfahrplan.obj
    jahresabschluss.obj
    personalstatusvt.obj
    prgpara.obj
    reorganisation.obj
    stammdienstevt.obj
    stundenusicht.obj
    tagesdienste.obj
// $STOP-AUTODEPEND
    ..\..\zusaetze_gui\sys\dbesys_d.obj
    ..\..\zusaetze_gui\sys\dcappsys_d.obj
    ..\..\zusaetze_gui\sys\errorsys_d.obj
    ablaufendegueltigkeitenvt.prg
    csv_aktivefahrer.prg
    fahrdienstklassen.prg
    fahrdienstverwaltung.prg
    fahrervt.prg
    feiertagevt.prg
    ferienvt.prg
    firmenstamm.prg
    freizeitartenvt.prg
    gueltigkeitsbezeichnungen.prg
    importfahrplan.prg
    jahresabschluss.prg
    personalstatusvt.prg
    prgpara.prg
    reorganisation.prg
    stammdienstevt.prg
    stundenusicht.prg
    tagesdienste.prg