2012-10-20 7 views
16

Ich habe mein erstes größeres Projekt mit Visual Studio 2012 in C++ gestartet. Ich werde meine Source-Dateien in Ordnern strukturieren, aber ich kann nicht finden, wo ich echte Ordner erstellen kann, wie im Windows Explorer. Also hier ist meine Frage.So erstellen Sie einen Ordner in Visual Studio C++ 2012

Wie kann ich echte Ordner in meinem Projekt erstellen?

+0

Sie können mit der rechten Maustaste auf das Projekt klicken, um die Option zum Öffnen des Ordners zu öffnen, falls es einen Trost gibt. – chris

Antwort

20

Die IDE hat einen Befehl dafür, "New Folder". Es ist sogar im Kontextmenü Projekt + Hinzufügen vorhanden, etwas, das Sie sehen können, wenn Sie das Kontextmenü mit Extras + Anpassen betrachten. Es ist jedoch in der C++ IDE versteckt. Absichtlich.

Es ist wichtig zu verstehen, warum es versteckt ist. Es hält Sie in Schwierigkeiten, die Art von Schwierigkeiten, die Sie beim Erstellen von Ordnern mit Explorer bekommen.

In Frage ist die Art, wie C++ - Dateien gebaut werden. Sie erzeugen eine OBJ-Datei, wenn der Compiler mit ihnen fertig ist. Diese Obj-Datei wird in einem Verzeichnis gespeichert, dessen Name eine Projekteinstellung ist. Sie sehen es unter Projekt + Eigenschaften, Allgemein, Zwischenverzeichnis. Für eine einzelne CPP-Datei ist dies C/C++, Ausgabedateien, Objektdateiname. Der Standardwert für diesen ist $(IntDir) ein Makro, das den Compiler anweist, die Einstellung für das Zwischenverzeichnis zu verwenden. Mit den Standardeinstellungen enden alle OBJ-Dateien für das Debug-Build im Debug-Unterverzeichnis. Release-Unterverzeichnis für den Release-Build. Egal wo die .cpp gespeichert wurde.

Vielleicht sehen Sie jetzt die Bärenfalle. Wenn Sie ein Unterverzeichnis mit CPP-Dateien erstellen, treten Probleme auf, wenn dieses Unterverzeichnis eine CPP-Datei enthält, deren Name mit einer anderen CPP-Datei in einem anderen Unterverzeichnis identisch ist. Sie erstellen eine OBJ-Datei mit demselben Namen. Man überschreibt das andere, welches je zuletzt kompiliert wurde. Das erzeugt sehr mystifizierende Linker-Fehler. Sie erhalten doppelte Symbolfehler, da die zuletzt erstellte .obj-Datei zweimal verknüpft ist und Symbolfehler für die überschriebene .obj-Datei fehlen.

Also gehen Sie voran und erstellen Sie ein Unterverzeichnis, aber hüten Sie sich vor diesem Problem. Sie müssen die Einstellung für den Objektdateinamen für die CPP-Datei ändern, wenn eine solche Kollision auftritt.

+2

Danke, für Ihre detaillierte Beschreibung, aber in diesem Moment bin ich deinstallieren VS2012 und laden Sie die Qt-Creator wieder, eine wunderbare IDE von Programmierern für Programmierer. Keine Notwendigkeit, tausend Addons für die minimalen Standardfunktionen zu installieren. – Number42

+5

Es ist witzig, dass ein leicht zu lösendes Manko der Standard-Build-Einstellungen maskiert wird, indem das genaue Feature versteckt wird, das den Fehler offen legen würde ... – rubenvb

+3

-1 Funktioniert nicht (für mich). Ich stimme @rubenvb zu, es ist lustig (auf tragische Weise), dass diese Funktion versteckt ist, um ein leicht zu lösendes "Problem" zu verbergen. Sei es das ist, es gibt anscheinend keine Möglichkeit, diesen Menüpunkt zu aktivieren (egal welches Wort). Ich habe es versucht. Also, was ist die Zauberformel? –

1

Das milde ärgerlich ist, aber hier ist das, was getan werden kann:

den neuen Ordner in Visual Studio erstellen. Dies erstellt keinen neuen Ordner im Dateisystem. Fügen Sie dem Ordner ein neues Element hinzu. Wählen Sie das richtige Verzeichnis für den Artikel.

Wenn sich Ihr Projekt beispielsweise in% Dokumente% \ Projekt befindet und Ihr neuer Ordnername Ordner ist, fügen Sie diesem Ordner unter% Dokumente% \ Projekt \ Ordner ein neues Element hinzu.

Visual Studio 2012 wird das Element in den Ordner, wo Sie es möchten. Wenn Sie ein neues Element hinzufügen, wird standardmäßig derselbe Ordner verwendet. Hier kommt der störende Teil ins Spiel. Wenn Sie drei Ordner für alle Ihre Projektelemente erstellen und versuchen, jedem Ordner ein neues Element hinzuzufügen, versucht Visual Studio, alle drei Elemente an derselben Stelle im Dateisystem anzuordnen (das letzte Ordner, dem Sie ein neues Element hinzugefügt haben, während Sie Elemente in den richtigen Visual Studio-Ordner einfügen.

Es ist möglich, dass dies in Visual Studio eine Einstellung ist. Ich habe es nicht gefunden. Ich habe auch nicht so hart geschaut.