Eigene C++ Bibliothek



  • Hallo,
    ich möchte gerne meine standard Quellcodes in ein Verzeichnes machen,
    und sie dann nach bedarf in mein Projekt einbinden.

    ich habe versucht, ein neues Projekt aufzumachen, und dann nach dem
    Kompilieren die cpp- und header-Datei in einen Ordner zu kopieren,
    und dann in einem anderen Projekt den Pfad bis zu der header-Datei zu includen.

    Das hat aber nicht geklappt 😞

    Also meine Frage: Kann ich mir eine eigene Bibliothek schreiben?



  • Nur den Header einbinden reicht natütlich nicht, da fehlt dann die Objektdatei, die aus deiner cpp-Datei erstellt wird (also die Implementation deiner Funktionen). Eine einfach Möglichkeit wäre, deinen ganzen Kram (Deklaration und Implementation) einfach in einen Header zu packen, den du dann nur einzubinden brauchst. Je nach Umfang deiner Sammlung und Anwendung ist natürlich eine lib oder dll sinnvoller.



  • Ich habe es schon mal mit einer Lib versucht,
    aber ich habs nicht hingekriegt.

    habt ihr vielleicht ein gutes Tutorial?

    Und noch ne kleine Frage: Wird eine Lib komplett eingebunden, oder wird der Code beim Kompilieren rausgesucht?



  • Bei einer lib werden die Quelltexte vorkompiliert, nur die Header bleiben lesbar, leider (machmal).
    Dein Problem habe ich aber auch, früher habe ich knallhart die entsprechenden Dateien aus den anderen Projekten in das aktuelle Projekt eingebunden, hat den Vorteil, daß man seine Klassen von überall erweitern kann aber man muß höllisch aufpassen, daß die anderen Programme dann noch laufen. Meist kopiere ich die entsprechenden Dateien ins Projekt, was es ein bisschen schwierig macht später die aktuellste Version zu finden.
    Wenig Glück hatte ich bis jetzt damit die bestehenden Projekte in ein aktuelles Projekt einzubinden, da müsste man für fast jede Klasse von der man meint sie könnte mal nützlich sein wieder ein eigenes Projekt erstellen. Außerdem werden dann immer elend lange include anweisungen generiert.
    Im Moment versuche ich eine Kombination aus Varinate 1 und SVN aber das hat auch seine Schattenseiten 😞



  • connan schrieb:

    Bei einer lib werden die Quelltexte vorkompiliert, nur die Header bleiben lesbar, leider (machmal).(

    connan nichts für ungut, aber eigentlich wollte ich wissen,
    ob der Compiler den gebrauchten Code aus der Lib hohlt,
    oder die ganze Lib mitkompiliert!? 🙂

    Aber zu meiner eigentlichen Frage zurück.
    Könnte man nicht ein Verzeichnis in VS C++ hinzufügen,
    welches meine header und cpp Dateien enthält,
    und sie dann einfach ins Projekt einbinden?



  • AeroX schrieb:

    connan nichts für ungut, aber eigentlich wollte ich wissen,
    ob der Compiler den gebrauchten Code aus der Lib hohlt,
    oder die ganze Lib mitkompiliert!? 🙂

    Die lib wir komplett zum Programm gelinkt ist aber eben schon vorkompiliert!

    AeroX schrieb:

    Aber zu meiner eigentlichen Frage zurück.
    Könnte man nicht ein Verzeichnis in VS C++ hinzufügen,
    welches meine header und cpp Dateien enthält,
    und sie dann einfach ins Projekt einbinden?

    Kannst Du machen, da hast Du aber auch das Problem, daß du aus jedem Projekt heraus diese Dateien verändern kannst. Da gehört etwas Disziplin dazu die Funktionalität genau so zu erhalten, daß die anderen Projekte damit noch klar kommen.



  • Wo kann man in VS C++ ein Verzeichnis hinzufügen?



  • Im VS gar nicht, jedenfalls nicht das ich wüßte, da lassen sich immer nur Filter einfügen. Aber du kannst einfach einen Ordner per Windows-Explorer erstellen und dort hinein deine .cpp's, .h's usw. reinkopieren und dann diese Dateien als 'vorhandenes Element' deinem Projekt hizufügen.



  • So, ich habs gefunden:

    Projekteigenschaften >> C++ >> Allgemein >> Zusätzliche Includeverzeichnisse

    da hab ich jetzt meinen Ordner hinzugefügt, der all meine header und cpp Dateien enthält.



  • AeroX schrieb:

    So, ich habs gefunden:

    Projekteigenschaften >> C++ >> Allgemein >> Zusätzliche Includeverzeichnisse

    da hab ich jetzt meinen Ordner hinzugefügt, der all meine header und cpp Dateien enthält.

    Ok, aber da werden Dir die Klassen aus den Includes auch nicht mit angezeigt.



  • Wow, nach bestimmt 3 stunden suchen, ausprobieren... hab ich es endlich geschafft.

    Also hier nochmal für alle, die damit auch Probleme haben:

    Guckt euch das tutorial an: http://de.youtube.com/watch?v=lUsdSmXvi5U

    man muss den Ordner mit den Header und Cpp Dateien in

    Projekteigenschaften >> C++ >> Allgemein >> Zusätzliche Includeverzeichnisse

    angeben. (einmal bei debug und einmal bei release)

    Dann muss man noch die header und cpp Dateien, die man braucht in das Projekt einfügen mittels "Hinzufügen -> Vorhandenes Element..."

    Jetzt kann man in die Cpp des Programmes die header Dateien includen.


Anmelden zum Antworten