Seite 1 von 1

Objektdateien

Verfasst: Fr, 17. Aug 2018 17:13
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

Re: Objektdateien

Verfasst: Fr, 17. Aug 2018 17:34
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?

Re: Objektdateien

Verfasst: Mo, 03. Sep 2018 13:43
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

Re: Objektdateien

Verfasst: Mo, 03. Sep 2018 14:36
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.

Re: Objektdateien

Verfasst: Mo, 03. Sep 2018 15:19
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.

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 15:20
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

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 15:38
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?

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 16:09
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 ?

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 16:11
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

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 16:13
von Jan

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 18:51
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

Re: Objektdateien

Verfasst: Mi, 12. Sep 2018 20:44
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.

Re: Objektdateien

Verfasst: Mo, 17. Sep 2018 23:44
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!

Re: Objektdateien

Verfasst: Mo, 24. Sep 2018 12:10
von wibo050447
Hallo,

erst mal vielen Dank für die Antworten.

Bin noch nicht dazu gekommen zu testen.

Zeitproblem.

Ich melde mich. Danke.

Re: Objektdateien

Verfasst: Mi, 24. Okt 2018 17:53
von wibo050447
Hallo

nach dem ändern zu

COMPILE_FLAGS = /q /a /g

funkt es

Danke nochmals für die Hilfe an alle

Re: Objektdateien (Gelöst)

Verfasst: Mo, 26. Aug 2019 16:39
von wibo050447
Hallo an alle,

endlich gelöst.

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