Includieren von Files aus 2. Projekt in der Projektmappe



  • Hallo,
    da man im Visual Studio mehrere Projekte in der Projektmappe haben kann,
    habe ich versucht von dem einem Projekt (die GUI) auf das eigentliche Projekt
    zu verweisen.

    Obwohl ich die entsprechenden .h includiere und in den Optionen auch die richtigen Verzeichnisse (inc/lib) angegeben habe.

    Das Ergebnis ist jedoch immer ein Link Error:

    MRGUI error LNK2019: Nicht aufgeloestes externes Symbol "public: __thiscall MRTablet::MRTablet(void)" (??0MRTablet@@QAE@XZ), verwiesen in Funktion "public: void __thiscall CMRGUIDlg::OnBnClickedButtonStartcam(void)" (?OnBnClickedButtonStartcam@CMRGUIDlg@@QAEXXZ)

    Jetzt wollte ich mal fragen ob das überhaupt eine Chance hat zu funktionieren.

    Danke schon mal

    Euer RedThor



  • Welche GUI.
    MSVC++ hat nur Resourcen Header und cpp-Dateien.

    Um mehrere Projekte in eine Arbeitsmappe zu haben musst du eine Lerre Arbeitsmappe erstellen und dann bei hinzufügen ....... vorhandenen Projekt.



  • oh ok mein Fehler.

    Das ganze ist unter Microsoft Visual Studio .NET

    und ich habe erst eine LeereProjektmappe gemacht und beide Projekte über vorhandene Projekte hinzugefügt. Das hat funktioniert, nur wie Rufe ich von Projekt 1 Teile von Projekt 2 auf?

    Gruß
    RedThor



  • Header:

    Einfach

    #include "../anderesprojekt/deineheader"



  • Danke,
    leider erzeugt der Aufruf von der Funktion immernoch den gleichen Fehler.

    Projekt1:

    void CMRdialog1Dlg::OnBnClickedButtonTest()
    {
    MRTable::MRTableStart();

    }

    Projekt2:

    MRTable.h

    static void MRTableStart(void);

    ergibt:
    MRdialog1 error LNK2019: Nicht aufgeloestes externes Symbol "public: static void __cdecl MRTablet::MRTabletStart(void)" (?MRTabletStart@MRTablet@@SAXXZ), verwiesen in Funktion "public: void __thiscall CMRdialog1Dlg::OnBnClickedButtonTest(void)" (?OnBnClickedButtonTest@CMRdialog1Dlg@@QAEXXZ)

    es macht den Anschein als ob die .cpp des 2. Projekts nicht gefudnen werden konnte

    wenn in Projekt2

    MRTable.h

    static void MRTableStart(void)
    {
    }

    steht kommt zwar kein Fehler, aber Programm wird trotzdem nicht ausgeführt.



  • Liefere mal etwas mehr Code.

    Du willst also eine cpp-datei in beiden Projekten haben.

    Dann musst du auch dem 2ten Projekt die Datei hinzufügen.
    Ich verstehe aber den Sinn darin nicht.
    Für solche Fälle verwendet man DLL oder staticlibs, obj,....


Anmelden zum Antworten