Objektdateien

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Objektdateien

Beitrag von wibo050447 »

Hallo melde mich nach jahren zurück,

Mustte Alaska / XBase++ auf einem neuen PC installieren.

Ich glaube mich zu erinnern wenn man eine PRG geändert hat das auch nur dort die Objektdatei Compilert wurde.

Jetzt werden bei mir alle PRG zugehörigen Objektdateien neu Compilier.

Wo wird das eingestellt oder eingerichtet ?

Im voraus besten Dank für Antwort
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Objektdateien

Beitrag von georg »

Hallo, wibo... -


normalerweise verwendete man pbuild.exe, das anhand der zugehordneten .xpj-Datei (Standard: project.xpj) prüft, welche Programme/Quellen "out of sync" sind und compiliert dann die entsprechende Programm-Quellen und linkt neu.

Das sind die "Basics", und die funktionieren eigentlich fast in jedem Fall.

Wie stösst Du die Programmerstellung an? Was passiert, wenn Du es zweimal hintereinander machst, werden dann auch alle Programm-Quellen neu compiliert?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien

Beitrag von wibo050447 »

Halo Georg,

danke für die verspätete Antwort.

Ich habe eine Projektdatei in der alles drin steht. Die rufe ich auf. (PROJECT.XPJ)

Alle Programm-Quellen werden jedesmal compiliert.

Gruß WiBo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Objektdateien

Beitrag von Werner_Bayern »

Servus WiBo,

das liegt an der xpj. Da steht irgendwas drin, was Xbase++ veranlasst, alles neu zu compilieren:
  • alter Schalter
  • Schalter, der das explizit fordert
  • falscher Pfad (für obj-Dateien, bei Quelldateien etc.)
Ich hatte das auch kürzlich bei einem fremden Projekt, an dem ich mitarbeite, weiß aber nicht mehr, was es davon war. Einfach Schritt für Schritt die xpj durchgehen, abspecken oder einfach mal testweise neu erzeugen.
es grüßt

Werner

<when the music is over, turn off the lights!>
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Objektdateien

Beitrag von georg »

Hallo, Wibo -


einfach einmal "pbuild /g" eingeben, damit die xpj-Datei mit allen Abhängigkeiten aufgebaut wird.

Ansonsten - falls nicht zu umfangreich - poste doch mal die aktuelle Fassung hier.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien

Beitrag von wibo050447 »

Hallo,

erst mal Danke für die Antwort.
So sieht meine Prjektdatei am Anfang aus.
Darunter sind nur noch .prg Dateien
  • [PROJECT]
    DEBUG = yes
    VERSION = 2.0
    DEBUG_SAVE = yes
    PROJECT.XPJ

    [PROJECT.XPJ]
    100.exe

    [100.exe]
    COMPILE = xpp
    COMPILE_FLAGS = /go /iSource\Include /q
    DEBUG_SAVE = yes
    GUI = yes
    LINKER = ALINK
    LINK_FLAGS =
    RC_COMPILE = ARC
    RC_FLAGS = /v
    OBJ_DIR = \100\OBJ


    // Hauptprogramm ====================================================
    // $START-AUTODEPEND
    STD.CH
    SET.CH
    NATMSG.CH
    GET.CH
    PROMPT.CH
    MEMVAR.CH
    COLLAT.CH
    GRA.CH
    XBP.CH
    APPEVENT.CH
    XCLASS.CH
    DSCLASS.CH
    DSBMP.CH
    DSMSG.CH
    DSCFUNC.CH
    DSTYPE.CH
    DSAPI.CH
    DSCRT.CH
    DSINTERNAL.CH
    DSSERVER.CH
    TYPES.CH
    XB2.CH
    DSCOMMAND.CH
    DSFILEDLG.CH
    DSREGISTRY.CH
    COMMON.CH
    FONT.CH
    DLL.CH
    DMLB.CH
    NLS.CH
    XBPDEV.CH
    APP.CH
    DIRECTRY.CH
    Fileio.ch

    // $STOP-AUTODEPEND
    D:\ALASKA\XPPW32\LIB\ASINET10.LIB
    D:\ALASKA\XPPW32\LIB\KERNEL32.LIB
    D:\ALASKA\XPPW32\LIB\USER32.LIB
    D:\ALASKA\XPPW32\LIB\XppDbgc.LIB
    D:\ALASKA\XPPW32\LIB\XppRt0.LIB
    D:\ALASKA\XPPW32\LIB\XppRt1.LIB
    D:\ALASKA\XPPW32\LIB\XppRt2.LIB
    D:\ALASKA\XPPW32\LIB\XppUi2.LIB
    D:\ALASKA\XPPW32\LIB\XppUi3.LIB
    D:\ALASKA\XPPW32\LIB\SMSCLI.LIB
    D:\ALASKA\XBTW32\LIB\XBTBASE1.LIB
    D:\ALASKA\XBTW32\LIB\XBTBASE2.LIB

    D:\XClass\LIB\XCLAPI.LIB
    D:\XClass\LIB\XCLASS.LIB
    D:\XClass\LIB\XCLACE.LIB
    D:\XClass\RESOURCE\XCLIMAGE.RES

    \000\0\Tapi_Test.PRG

    \000\0\AOFSuch.PRG
    \000\0\_AOFSuch.PRG
    \000\0\Anzeigen.PRG
    \000\0\Anzahl.PRG
    \000\0\_Anzahl.PRG
    \000\0\AgNrAuswahl.PRG
    \000\0\_AgNrAuswahl.PRG
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Objektdateien

Beitrag von Werner_Bayern »

Servus WiBo,

Code: Alles auswählen

DEBUG_SAVE
hast 2x drin, das ist bei mir nur unter der exe-Sektion. Dann würde ich testweise mal den vollen Pfad bei obj_dir reinschreiben. Nur zum Testen.

Wie sieht Deine volle Ausgabe beim Compilieren aus, keine Fehlermeldungen auf eine nicht gefundene CH-Datei?

Du nutzt noch eine ziemlich alte Xbase++-Version, hast schon mal die PDRs diesbezüglich durchgeschaut?
es grüßt

Werner

<when the music is over, turn off the lights!>
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien

Beitrag von wibo050447 »

Hallo Werner,

DEBUG_SAVE ein mal raus ohne Veränderung.

Fehlermeldungen kommen keine.

Was ist denn zur Zeit die letzte XBAS Version unter 1.9 ?
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Objektdateien

Beitrag von Jan »

Ich hab das gerade mal mit meiner xpj verglichen. Ich schau da so selten rein das ich aus dem Kopf gar nicht mehr weiß, was da wie und wo alles drin steht.

Der Hinweis von Werner zu DEBUG_SAVE gilt bei mir auch.

Unter // $START-AUTODEPEND habe ich die .ch, die .res, und die .obj stehen - letztere fehlen bei Dir komplett.

Dafür hast Du unter // $STOP-AUTODEPEND die .lib stehen - die habe ich wiederum nirgends drin. Dafür stehen an dieser Stelle die .prg und die .arc.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Objektdateien

Beitrag von Jan »

Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Objektdateien

Beitrag von AUGE_OHR »

wibo050447 hat geschrieben: Mi, 12. Sep 2018 15:20 So sieht meine Prjektdatei am Anfang aus.
wie Georg schon sagte solltest du mal die XPJ mit der Option /G neu aufbauen denn da fehlt eine Menge wie auch Jan sagt (OBJ, ARC)

ich habe auch schlechte Erfahrungen mit relativen Path ( .\..\) wenn die nicht im selben Ordner liegen. also im Zweifel den vollen Path
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Objektdateien

Beitrag von georg »

Hallo, wibo -


Du scheinst noch mit der 1.9 zu arbeiten, da relative Pfade dort noch funktioniert haben. Wenn Du zur 2.0 übergehst, solltest Du Dir mal die Einstellung TARGET_DIR= anschauen.

Mache eine Kopie Deiner project.xpj und lasse

Code: Alles auswählen

pbuild /g
laufen und teste dann noch einmal.

Diese Variante von pbuild trägt in der AUTODEPEND-Sektion abhängige Objekte ein. Wenn dort keine abhängigen Objekte eingetragen sind, kann pbuild nicht erkennen, was denn nun verändert wurde und was nicht und macht dann - logischerweise - einen kompletten Durchlauf.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Objektdateien

Beitrag von Werner_Bayern »

Servus WiBo,

wie ist der Stand? Ich hatte gerade unter der aktuellen 2.0 dasselbe Problem. Die Lösung: In der xpj war durch ein Abhängigkeiten neu erzeugen - also im Prinzip ein Pbuild.exe Project.xpj /a /g eine ch.-Datei mit Leerzeichen im Pfad. Das mag Xbase++ nicht!
es grüßt

Werner

<when the music is over, turn off the lights!>
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien

Beitrag von wibo050447 »

Hallo,

erst mal vielen Dank für die Antworten.

Bin noch nicht dazu gekommen zu testen.

Zeitproblem.

Ich melde mich. Danke.
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien

Beitrag von wibo050447 »

Hallo

nach dem ändern zu

COMPILE_FLAGS = /q /a /g

funkt es

Danke nochmals für die Hilfe an alle
wibo050447
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 22. Jul 2008 18:27

Re: Objektdateien (Gelöst)

Beitrag von wibo050447 »

Hallo an alle,

endlich gelöst.

Hatte in der Projekt Datei doppelte einträge von .CH Dateien
Rausgenommen und es geht wieder
Antworten