Announcement

Collapse
No announcement yet.

DCC32.exe zirkulare Compilierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DCC32.exe zirkulare Compilierung

    Hallo miteinander.

    Ich versuche gerade eine etwas grösseres Projekt per Konsole (Dcc32.exe) zu erzeugen. Allerdings habe ich da ein Problem mit einer zirkularen Verwendung zweir Units.

    Unit1 verwendet Unit2
    Unit2 verwendet Unit3
    Unit3 verwendet Unit1

    wie kann ich das compilieren?

    Danke für die Hilfe

    MfG
    Thorsten

  • #2
    Du musst in Unit3 die Uses in den Implementation-Teil verschieben, dann geht es. Das funktioniert natürlich nicht, wenn die drei Units gegenseitige Objektdeklarationen im Interface-Abschnitt brauchen. Dann hast Du ein Problem <p>
    Schöne Grüße, Mari
    Schöne Grüße, Mario

    Comment


    • #3
      Ja, dass habe ich auch gemacht. Mit der Delphi-IDE lässt es sich auch compilieren. Aber in der Konsole nicht. Beim compilieren der Unit3 kommt immer der Fehler Unit1.dcu nicht gefunden.
      MfG
      Thorste

      Comment


      • #4
        Hallo,

        verwendet die Konfigurationsdatei für DCC32 auch die gleichen Suchpfad-Einträge wird bei den Projektoptionen innerhalb der IDE

        Comment


        • #5
          Ja, die Suchpfade sind identisch

          Comment


          • #6
            Durch anpassen der DCC32.cfg und wechseln der Parameter für die dcc32.exe habe ich das nun hinbekommen.
            Nun habe ich noch ein Problem.

            Ich will die Exe über ein Makefile erzeugen. Leider bekomme ich die Meldung, dass eine Unit.dcu nicht gefunden wurde. Die Unit ist in dem Projekt eingebunden und die Pas-Datei liegt im selben Verzeichnis wie das Projekt.

            Mein Makefile sieht wie folgt aus:
            <small>
            #---------------------------------------------------------
            VERSION = 01
            #---------------------------------------------------------
            !ifndef ROOT
            ROOT = $(MAKEDIR)\..
            !endif
            #---------------------------------------------------------
            BIN = ..\..\Bin
            EXE = C:\Entwicklung\Develop\Version
            DCU = C:\Entwicklung\Develop\Version\Sourcen\Dcu
            PAS = $(DCU);C:\Entwicklung\Develop\Version\Sourcen;C:\E ntwicklung\Develop\Version\Komponenten;C:\Programm e\Borland\Delphi5\Source\Vcl
            RES = C:\Entwicklung\Develop\Version\Sourcen
            #---------------------------------------------------------------
            #MAKE = $(ROOT)\bin\make.exe -B -l+ -$(MAKEFLAGS) -f$**
            DCC = $(ROOT)\bin\dcc32.exe -b -h- -w- -m -q $** -e$(EXE) -u$(PAS) -n$(DCU) -r$(RES)
            #BRCC = $(ROOT)\bin\brcc32.exe $** -e..\$(BIN) -i$(SRCH) -q -w -m
            #---------------------------------------------------------
            #---------------------------------------------------------
            default: Projekt.exe
            #---------------------------------------------------------
            Projekt.exe: C:\Entwicklung\Develop\Version\Sourcen\Projekt.dpr

            $(DCC)$&.dpr
            </small>

            Kann mir jemand sagen, warum die Unit nicht compiliert wird?

            Danke
            Thorste

            Comment

            Working...
            X