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