Nicht auflösbares externes -- Verständnissfrage



  • Ich hab da mal ne ganz allgemeine Frage zum Verständnis.

    Mal angenommen ich hab da ne Funktion die ich in auslager zb in die func.cpp
    und versuche dann von woanders darauf zuzugreifen. dann kommt es schonmal vor das er mir beim linken den Fehler ausgibt "Nicht auflösbares externes".

    Das komische ist das die Funktion in der gleichen cpp wo sie aufgerufen wird funktioniert.
    Meine Frage ist jetzt warum kommt dieser Fehler bzw warum meckert der linker und wie kann man den beheben in den meisten fällen. Wonach muss man suchen?

    Denn ich verstehe den sinn noch nicht so ganz was der Fehler mir sagen soll.



  • BCB-Hilfe schrieb:

    Sie können in jede Unit benutzerdefinierte Funktionen einfügen, auch in einer Formular-Unit. Wenn Sie Ihre Routinen allerdings an anderer Stelle wiederverwerten möchten,
    ist es günstiger, wenn Sie dafür eine eigene Unit anlegen. Eigenständige Units, die keinem Formular zugeordnet sind, bewirken, daß Ihre Funktionen leichter für andere Units
    im selben oder in einem anderen Projekt zugänglich sind.

    So erstellen Sie eine Unit-Datei, die keinem Formular zugeordnet ist:

    1. Wählen Sie Datei|Neue Unit.

    Oder:

    1. Wählen Sie Datei|Neu, um das Dialogfeld Neue Einträge zu öffnen.
    2. Wählen Sie auf der Seite Neu dieses Dialogfelds den Eintrag Unit, und klicken Sie auf OK.

    Mit beiden Methoden öffnet C++Builder eine neue .CPP-Datei für die Unit, ohne den Standardquelltext für Formular-Units einzufügen.

    Hinweis: Falls bereits ein Projekt geöffnet ist, ersetzt dies das aktuelle Projekt mit der neu erzeugten Unit.

    Falls Sie wünschen, daß die neue Unit Teil eines Projekts ist, öffnen Sie das Projekt vor Erstellen der neuen Unit.

    Um eine eigenständige Unit-Datei zu erzeugen, die mit einem Projekt verknüpft ist, gehen Sie wie folgt vor:

    1. Wählen Sie Ansicht|Projektverwaltung, um die Projektverwaltung zu öffnen.
    2. Aktivieren Sie das gewünschte Projekt.
    3. Klicken Sie mit der rechten Maustaste und wählen Sie Neues Ziel erzeugen.
    4. Auf der Seite Neu wählen Sie Unit und anschließend OK.

    Wenn Sie eine Unit in einem geöffneten Projekt mit dem Befehl Neue Unit erstellen, wird die neue Unit in der Projektdatei (project.BPR) registriert.

    Hinweis: Wenn Sie in einer Unit auf den Quelltext einer zweiten Unit Bezug nehmen wollen, müssen Sie die Header-Datei der zweiten Unit in die erste Unit einbinden.
    Zu diesem Zweck öffnen Sie die erste Unit im Quelltext-Editor und rufen den Befehl Datei|Unit-Header einfügen auf, um die zweite Unit einzubinden.
    Indem Sie C++Builder zum Einbinden der Header-Datei verwenden, stellen Sie sicher, daß alle Projektdateien korrekt aktualisiert werden.



  • Das ist eine Anfängerfrage für C!
    In C müssen die Prototypen der aufgerufenen Funktionen bekannt sein. Der Compiler überprüft dann die Richtigkeit der Aufrufe. Es ist übliche Praxis, diese Prototypen in eine Headerdatei zu packen.


Anmelden zum Antworten