9 Stimmen

Wie kann man Header-Dateien in Visual Studio 2008 einbinden?

Ich versuche gerade, ein einfaches Programm zu kompilieren, das zwei Header-Dateien enthält. Ich sehe sie im Projektmappen-Explorer, wo ich sie über "Vorhandene Dateien einschließen" eingebunden habe. Wenn ich mein Programm jedoch ausführe, erhalte ich die folgende Fehlermeldung. fataler Fehler C1083: Include-Datei kann nicht geöffnet werden: 'FileWrite.h': No such file or directory. Das Problem ist, dass ich die Datei im Header-Ordner und im Code, den ich geschrieben habe, sehe:

#include "FileWrite.h"

und dann den Rest des Programmcodes. Muss ich noch etwas anderes tun, damit der Compiler die Header-Datei sehen und sie mit der .cpp-Datei verknüpfen kann, die ich zu kompilieren versuche?

16voto

Bojan Komazec Punkte 8706

Wenn Sie in Ihrem Code etwas schreiben wie #include "FileWrite.h" müssen Sie sicherstellen, dass der Compiler diese Datei finden kann. Es gibt drei Optionen:

  • FileWrite.h sollte sich entweder im gleichen Verzeichnis wie Ihre Quellcodedatei (.cpp) befinden oder
  • Der Pfad zu dieser Header-Datei sollte in den Projekteigenschaften aufgeführt sein (in C/C++ -> Allgemein -> Zusätzliche Include-Verzeichnisse ) oder
  • Pfad kann in Ihrem VisualStudio gesetzt werden - fügen Sie ihn zu Dateien einbeziehen sur Werkzeuge->Optionen->Projekte und Lösungen->VC++ Verzeichnisse

Welche dieser Optionen zu verwenden ist, hängt davon ab, ob die Kopfzeile von diesem Projekt (1. Option) oder einem anderen Projekt (eine der beiden anderen Optionen) stammt.

10voto

DumbCoder Punkte 5696

Es gibt zwei Möglichkeiten, dies zu tun.

1) Nur für das aktuelle Projekt

Select your project -> properties -> C/C++ -> General -> Additional Include Directories -
Include your header file directory.

2) Für alle Projekte

Tools -> Options -> VC++ Directories -> Include files - Add the header file directory.

Verzichten Sie auf die Verwendung von 2, da es schwierig wäre, die Abhängigkeiten für ein Projekt herauszufinden, wenn es auf einem anderen System als dem Ihren kompiliert wird.

1voto

Motti Punkte 104854

Beim Einbinden von Dateien sucht der Compiler zuerst im aktuellen Verzeichnis (dem Verzeichnis, das den Quellcode enthält). .cpp Datei), dann sucht es in den zusätzlichen Include-Verzeichnissen. Wenn FileWrite.h nicht in demselben Verzeichnis wie Ihre Quelldatei liegt, überprüfen Sie die zusätzlichen enthaltenen Verzeichnisse.

Schauen Sie sich auf der Eigenschaftsseite des Projekts die zusätzlichen Include-Verzeichnisse an und prüfen Sie, ob sie den Ordner enthalten, in dem FileWrite.h ist in.

1voto

Edward Strange Punkte 39597

Sie sagten, die Datei befinde sich im Ordner "headers". Dies könnte entweder bedeuten, dass die Header Filter oder ein aktuelles Header-Verzeichnis im Dateisystem. Wenn Sie eine Datei aus Ihrem eigenen Projekt einbinden, müssen Sie den Pfad der Datei angeben, in die Sie einbinden wollen. Wenn Sie also etwas wie folgt haben:

src/main.cpp
include/my_object.h

Sie würden verwenden #include "../include/my_object.h" in main.cpp.

Das ist für Verzeichnisse. Die Verzeichnisse, die Sie in Ihrem Projekt sehen, heißen filtert und haben absolut keinen Bezug zur Verzeichnisstruktur Ihres Projekts, es sei denn, Sie zwingen sie dazu. Sie müssen darauf achten, wie die Struktur im Windows-Explorer aussieht, um herauszufinden, welchen Pfad Sie in einer Include-Anweisung verwenden müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X