Announcement

Collapse
No announcement yet.

[Linker Fatal Error] Fatal: Expected a file name:

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

  • [Linker Fatal Error] Fatal: Expected a file name:

    Hallo, bin gerade dabei von Delphi auf C++ umzusteigen.<br><br>
    Also ich habe 3 Units. 1 Unit ist mein Mainformular (UMain.h), meine zweite Unit ist ein DataModul (UDMMain.h) und meine 3 Unit(UGlobal.h)möchte ich für Globale Variablen und Konstanten verwenden und ist somit eine reine Unit.<br><br>
    Compiliere ich ich nun ohne die UGlobal.h funktioniert alles. Compiliere ich mit der UGlobal.h kommt folgende Fehlermeldung:
    <b>[Linker Fatal Error] Fatal: Expected a file name: </b><br><br>
    Kann mir vielleicht irgendjemand weiterhelfen ?<br>Danke Sascha

  • #2
    Wahrscheinlich findet er die .h Datei nicht. Unter Optionen Verzeichnisse das Verzeichnis mit aufnehmen, wo diese .h lieg
    Christian

    Comment


    • #3
      **** Wahrscheinlich findet er die .h Datei nicht...

      Das wäre doch dann ein Compilerfehler, und die betreffende Zeile würde markiert!

      Es ist aber ein fieser Linker-Fehler
      Günther

      Comment


      • #4
        joo, stimm
        Christian

        Comment


        • #5
          Hallo Sascha,

          da Du aus der Delphi Welt kommst (hier wird ja mit "uses" gearbeitet) hilft Dir vielleicht folgendes weiter:
          1.) Du verwendest 2 !Units
          MainFormular.cpp
          DataModul.cpp

          Jeder dieser zwei Units haben eine dazugehörige Header-Datei, die mit der Endung .h endet.
          2.)
          Deine Header-Datei "UGlobal.h", die nur Definitionen enthalten soll (Globale Variable sollte man tunlichst vermeiden ) benötigt keine .cpp Datei (diese wird nur benötigt, wenn Du z.B. statt mit #define mit static Ausdrücken arbeiten möchtest). Also falls Du eine UGlobal.cpp hast, löschen.
          Die Header Datei -sollte mit
          #ifndef _UGlobalH
          #define _UGlobalH_
          beginnen

          und mit
          #endif
          abgeschlossen sein.
          In Deinen 2 Modulen bindest Du diese Header-Datei (nach Möglichkeit nur in den cpp-Dateien mit
          #inlcude "UGlobal.h"
          ein.
          Solltes Du obiges schon gewusst haben, bitte ich um Entschuldigung, aber der Umstieg von Delphi auf C++ ist nicht ganz einfach und eventuell ist Dein Problem mit dieser trivalen Antwort gelöst

          Gruß
          Gerhar

          Comment

          Working...
          X