Visual Studio (2005) Codedateien



  • Hallo!

    Gibt es eine Möglichkeit zusätzliche Codedateien, nur *.cpp, einem Projekt hinzuzufügen.
    Normalerweise erscheinen diese ja in der Baumansicht (Quellcodedateien). Ich möchte sie dort nur nicht haben. Gibt es also irgendwo in den Projekteigenschaften etwas, wo man zusätzliche cpp Dateien eintragen kann?



  • Rechter Mausklick auf das Projekt: "Add Existing items..." (oder so ähnlich)



  • Jochen Kalmbach schrieb:

    Rechter Mausklick auf das Projekt: "Add Existing items..." (oder so ähnlich)

    Habe eine deutsche Version.
    (Rechtsklick->Hinzufügen->Vorhandenes Element...) 😉

    Nein, aber das wollte ich ja nicht. Ich möchte die Codedateien nicht in der Projektmappenansicht. Gibt es keine andere Möglichkeit?



  • HaJo. schrieb:

    Nein, aber das wollte ich ja nicht. Ich möchte die Codedateien nicht in der Projektmappenansicht. Gibt es keine andere Möglichkeit?

    #include "meineVersteckte.cpp"
    

    ???



  • Jochen Kalmbach schrieb:

    #include "meineVersteckte.cpp"
    

    ???

    Ja, das ist bisher die auch mir einzig bekannte Lösung. Aber hat der Compiler nicht mehr Arbeit dadurch? Wenn die CPP Datei "normal" im Projekt eingebunden ist, wird einmal Objektcode erzeugt. Falls dann die dazugehörige Headerdatei irgendwo eingebunden wird, kennt der Compiler den Code ja schon.

    Binde ich jetzt aber die CPP Datei per include ein, so wird doch jedesmal der Code erstellt oder?



  • Du solltest das include natürlich in einer anderen CPP-Datei machen! Dann ist es egal...



  • Jochen Kalmbach schrieb:

    Du solltest das include natürlich in einer anderen CPP-Datei machen! Dann ist es egal...

    Die CPP Dateien werden von Template Klassen benötigt...
    Anscheinend gibt es aber keine andere Lösung von Seiten des VS.



  • HaJo. schrieb:

    Anscheinend gibt es aber keine andere Lösung von Seiten des VS.

    Ich verstehe den ganzen Sinn dahinter nicht... 😕



  • Jochen Kalmbach schrieb:

    Ich verstehe den ganzen Sinn dahinter nicht... 😕

    Ich wollte nicht in allen Headerdateien der Templateklassen gleich die Codedateien (cpp) einbinden lassen, da ich das sehr unelegant finde, sondern lediglich wie es sich gehört die Headerdateien. Wenn ich nun in anderen Projekten die Templateklassen nutze, meckert der Compiler logischerweise. Da er ja den Code gar nicht kennt. So nun habe ich 2 Möglichkeiten:
    1.) #include "foo.cpp"
    2.) cpp zum Projekt hinzufügen

    Bei 2.) wird die Projektmappe bei vielen Dateien extrem unübersichtlich. Natürlich kann man das in Ordnern (und Filtern) organisieren, jedoch ist das auch nicht so viel besser.
    Also wollte ich irgendwo in den Projekteinstellungen meinem Projekt die benötigten Codedateien melden damit der Compiler bescheit weiß.



  • Template-Klasse definiert und implementiert man logischerweise immer in der H-Datei. Aber diese Diskussion solltest Du eher im C++-Forum führen...



  • Jochen Kalmbach schrieb:

    Template-Klasse definiert und implementiert man logischerweise immer in der H-Datei. Aber diese Diskussion solltest Du eher im C++-Forum führen...

    Sorry, vielleicht habe ich falsch ausgedrückt. Darum geht es mir gar nicht. Das ist auch kein Problem. Es geht lediglich darum, dass in diesen Templateklassen Code von "externen" Dateien genutzt wird. Wenn ich nun nur die Template Header dem neuen Projekt hinzufüge ode sogar nur an einigen einbinde per #include, dann muss natürlich der Compiler mit den externen Codedateien bekannt gemacht werden. Also entweder herkömmlich zum Projekt hinzufügen oder #include "foo.cpp".
    Beides missfällt mir.


Log in to reply