4 Stimmen

C++ Projektstruktur

Ich bin jetzt an einem C++-Projekt beteiligt, und ich habe noch nie in C++ entwickelt. Die Frage, die sich mir stellt, ist die Struktur von Projekten, die mehrere Plattformen umfassen. Ein Entwickler arbeitet in VC++ und ein anderer in XCode. XCode hat keine buchstäblichen Verzeichnisse, sondern logische Verzeichnisse (Gruppen). Sollten große C++-Projekte tatsächliche Verzeichnisse haben, und wenn ja, wie kann es eine plattformübergreifende Unterstützung für Projekte geben, die in verschiedenen Entwicklungsumgebungen laufen?

Also, wenn ein Ordner in VC++ erstellt wird, ist es ein tatsächlicher Ordner, oder ist es nur eine Gruppierung für VC++ das gleiche wie XCode? Wenn das ein Problem ist, wie erstellt man dann echte Ordner in XCode?

Prost

2voto

Collin Dauphinee Punkte 13253

Visual Studio legt alle Dateien standardmäßig im Projektordner ab. Es hat "Filter", die ich denke, sind äquivalent zu XCode-Gruppen; sie sind eine Art von Ordner innerhalb des Projekts, verwendet, um Dateien zusammen zu gruppieren, aber nicht tatsächlich Verzeichnisse auf dem Dateisystem.

Beachten Sie den Unterschied zwischen Ihrem Projekt y Lösung . Jedes Projekt erstellt eine andere Binärdatei, während die Lösung die Projekte einfach zusammenfasst. Wenn Sie ein neues Projekt wird ihm ein neues Verzeichnis im Verzeichnis Lösung Ordner, es sei denn, Sie geben ihm einen Pfad an. Und dann gibt es noch Filter innerhalb der Projekte, die nur zur Gruppierung dienen und keine Auswirkungen auf den Speicherort Ihrer Dateien im Dateisystem haben.

1voto

Der einfachste Weg ist die Verwendung einer Abstraktionsschicht darüber. Ich habe CMake vor, wo Sie definieren, wie Ihr Projekt ist (Projekt im allgemeinen Sinne, nicht in der VS-Projekt), wo jede Quelldatei zu finden, Header, Bibliotheken zu verknüpfen ... dann können Sie VS-Lösungen, oder Xcode-Projekte, Eclipse CDT-Projekte, Makefiles ... Sie nennen es.

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