Frage

Ich arbeite an einem Spiel mit Visual C ++. Ich habe einige Komponenten in separaten Projekten und haben die Projektabhängigkeiten festgelegt. Wie # include ich eine Header-Datei von einem anderen Projekt? Ich habe keine Ahnung, wie Klassen von einem Projekt in ein anderes verwenden.

War es hilfreich?

Lösung

Einstellungen für Compiler

In dem Projekt, wo Sie die Header-Datei # include wollen andere Projekt, müssen Sie den Pfad der Header-Datei in den Zusätzliche Verzeichnisse enthalten hinzufügen in der Projektkonfiguration.

Um die Projektkonfiguration zuzugreifen:

  1. Rechtsklick auf das Projekt, und wählen Sie Eigenschaften.
  2. Wählen Sie Konfiguration Eigenschaften-> C / C ++ -.> Allgemein
  3. Geben Sie den Pfad an, unter den weiteren Verzeichnisse enthalten.

Wie einschließen

sind die Header-Datei , schreiben Sie einfach den folgenden in Ihrem Code:

#include "filename.h"

Beachten Sie, dass Sie nicht brauchen, hier den Pfad angeben, da Sie das Verzeichnis sind in der Zusatz Verzeichnisse enthalten bereits, so Visual Studio wird wissen, wo es zu suchen.

Wenn Sie nicht alle Header-Datei Standort in den Projekteinstellungen hinzufügen möchten, können Sie enthalten nur ein Verzeichnis bis zu einem Punkt, und dann # include relativ zu diesem Punkt:

// In project settings
Additional Include Directories    ..\..\libroot

// In code
#include "lib1/lib1.h"    // path is relative to libroot
#include "lib2/lib2.h"    // path is relative to libroot

Einstellung für Linker

Bei der Verwendung von statischen Bibliotheken (dh LIB-Datei), müssen Sie auch die Bibliothek an den Linker Eingang hinzufügen, so dass die Symbole auf Verknüpfungszeit kann gegen verknüpft werden (sonst werden Sie ein ungelöstes Symbol erhalten):

  1. Rechtsklick auf das Projekt, und wählen Sie Eigenschaften.
  2. Wählen Sie Konfiguration Eigenschaften-> Linker-> Input
  3. Geben Sie die Bibliothek unter Zusätzliche Abhängigkeiten.

Andere Tipps

#include hat nichts mit Projekten zu tun - es sagt nur den Präprozessor „den Inhalt der Header-Datei hier setzen“. Wenn Sie es einen Weg geben, die an die richtige Stelle verweist (kann ein relativer Pfad sein, wie ../your_file.h) wird es richtig aufgenommen werden.

Sie haben jedoch über Bibliotheken (statische / dynamische Bibliotheken) zu lernen, um solche Projekte Link richtig zu machen - aber das ist eine andere Frage

.

Sie müssen den Pfad zu den Header in den Projekteigenschaften setzen, so der Compiler es aussieht, wenn man versucht die Header-Datei (en) zu finden. Ich kann nicht den genauen Standort erinnern, aber aussehen, obwohl die Projekteigenschaften, und Sie sollten es sehen.

Versuchen vollständige Pfad Referenzen in der # include-Direktive zu vermeiden, ob sie absolut oder relativ sind. Stattdessen fügen Sie den Speicherort der in den Projekteinstellungen umfassen Ordner des anderen Projekts. Verwenden Sie nur Unterordner im Pfad Referenzen bei Bedarf. Auf diese Weise ist es einfacher, Dinge zu bewegen, ohne den Code aktualisieren zu müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top