Probleme beim Einbinden einer Klasse



  • Hallo
    ich möchte eine fremde Klasse in mein Projekt einbinden.
    Wie geht man da grundsätzlich vor?
    In meinen Büchern ist nur das Verwenden von Visual C++ bekannten Klassen erklärt 😢
    Header und CPP Dateien (die natürlich zusammengehören)
    habe ich mir downgeloadet.(nachfolgend als "X" bezeichnet)
    Ich habe selbst probiert und
    dazu habe ich folgende Schritte unternommen:

    1. Die beiden Dateien in das gleiche Verzeichnis kopiert
    2. Die Header Datei "X" im Ordner Header-Dateien hinzugefügt.
    3. Die Cpp Datei "X" im Ordner Quellcodedateien hinzugefügt
    4. Meine Projekt Cpp geöffnet und oben #include "x.h" eingetragen

    Dann komiliert Ergebnis =
    fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'X.h': No such file or directory X.cpp

    Was habe ich falsch gemacht?
    Bin für jede Hilfe Dankbar.
    Gruß
    Sven



  • Hmm? Hast de deinem Projekt die Dateien im Solution Explorer hinzugefügt?

    Wenn dein Header nicht bei dem Cpp File liegt, muss der include Enitrag fürn Header auch geändert werden...



  • Du musst dem include auch das Verzeichniss hinzufügen also

    #include "X\x.h"
    

    oder du machst VS das Verzeichniss bekannt.



  • 1. Muss ich den Pfad nicht nur angeben wenn die Datei sich an einem anderen Speicherort befindet als die Header Dateien von der Anwendung die ich erstelle?
    -Egal habs trotzdem probiert kein Erfolg.

    2.Ich habe ein kleines Programm geschrieben mit dem der Benutzer einen Zähler starten und stoppen kann.Habs kompiliert und es funktioniert einwandfrei.

    3.Dann habe ich in den gleichen Ordner die beiden Dateien kopiert.
    Zur Sicherheit bin ich wieder ins Programm -> kompiliert und funktioniert.

    4. Jetzt kommt das Problem:
    Wenn ich die Dateien hinzufüge (In VisualC++ den Ordnern Quellcodedateien
    und Headerdateien) und dann kompiliere kommt folgender Fehler:

    c:\dokumente und einstellungen\svenadmin\eigene dateien\umbau\serial.cpp(3) : fatal error C1853: 'Debug/Timer.pch' ist keine vorkompilierte Header-Datei, die mit diesem Compiler erzeugt wurde
    Fehler beim Ausführen von cl.exe.

    Zur Erklärung: "Umbau" ist die Kopie von meinem Timer Projekt(der Zähler)
    und serial.cpp ist meine erwähnte "X".cpp

    Was bedeutet das nur? 🙄



  • Das du einmal rebuilden musst...



  • 😃



  • Ja, aber wie mach ich das, da liegt mein Problem.
    Wenn ich den ganzen Debug Ordner lösche führt das leider nicht zum Erfolg 😕



  • Bei Erstellen 'neu Erstellen' (VS8) oder 'Alles neu erstellen' (VS6)



  • He danke! Das hat funktioniert .
    Aber in diesem Fall hat das bedeutet :
    Ich brauchte überhaupt keine #include Anweisungen schreiben
    Wann muss ich die denn in eine Cpp Datei eintragen?
    Wenn ich in der Cpp Datei eine Klasse aus einer anderen Header Datei verwende?
    (Nehmt mir die Angst 🙂 )



  • 1. ja, genau dann 🙂 und
    2. wenn Du zwischen Deklaration (.h) und Definition (.cpp) trennst.

    also kleines Bsp:

    //MyClass.h
    
    class CMyClass
    {
        void CMyClass(); // Konstruktor Deklaration
    }
    
    //MyClass.cpp
    #include "myClass.h"
    
    void CMyClass::CMyClass() // Konstruktor Definition
    {
        (...) //Initialisierungen
    }
    


  • Vielen Dank noch einmal für die freundliche Unterstützung
    bei meinem "Klickproblem".

    Viele Grüße
    Sven


Anmelden zum Antworten