linker fehler



  • Hallo,
    ich bin hier etwas am verzweifeln und hoffe hier auf hilfe.

    also ich habe zwei programme geschrieben und zwar unabhängig voneinanderdas sind zwei dialoganwendungen die auch so funktionieren.
    jetzt wollte ich aber aus dem einem dialog den anderen aufrufen. nicht mit einem aufruf der exe datei des anderen dialogs sondern ich wollte in dem ersten projekt die dateien aus dem zweiten projekt einbinden durch hinzufügen von vorhandenen elementen.
    habe erstmal die dialoge nicht mit hinzugefügt um es schritt für schritt zu machen.
    naja lange rede kurzer sinn.

    waermeuebergang.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall Kammermodellgenerator::CSpalte::setwaermeaustaschflaechen(double,double)" (?setwaermeaustaschflaechen@CSpalte@Kammermodellgenerator@@QAEXNN@Z)" in Funktion ""public: double __thiscall Kammermodellgenerator::Cwaermeuebergang::berechenDerWaeremaustaschflaechenHG(class Kammermodellgenerator::CSpalte &,class Kammermodellgenerator::CArbeitskammern,class Kammermodellgenerator::CGeometrie,class Kammermodellgenerator::CVerbindungenDerSpalte,class Kammermodellgenerator::CFileIO)" (?berechenDerWaeremaustaschflaechenHG@Cwaermeuebergang@Kammermodellgenerator@@QAENAAVCSpalte@2@VCArbeitskammern@2@VCGeometrie@2@VCVerbindungenDerSpalte@2@VCFileIO@2@@Z)".
    

    dies ist eine von 20 weiteren linker fehlern.

    normalerweise behebe ich diese indem ich entweder in der cpp datei oder im header die namen der funktionen angleiche wenn ich mich mal verschrieben habe.
    diesmal ist aber alles in ordnung.

    zb. bei dem eingebunden fehler oben steht das in der methode

    berechenDerWaeremaustaschflaechenHG
    

    folgende methode den linker fehler auslöst

    setwaermeaustaschflaechen(double,double)
    

    jetzt habe ich über die mfc oberfläche mal geguckt ob

    setwaermeaustaschflaechen(double,double)
    

    diese funktion im header und in der cpp datei existiert und ja sie sind da.

    im HEADER von CSpalte

    void	setwaermeaustaschflaechen	(double nr, double setSP);
    

    und in der CPP

    void CSpalte::setwaermeaustaschflaechen(double nr, double setSP)
    {
    
    			if ((nr +1) > waermeaustaschflaechen.size()) waermeaustaschflaechen.resize(nr+1);
    			waermeaustaschflaechen[nr]=setSP;
    
    }
    

    so wieso hat der linker jetzt probleme mit der objektdatei?

    bitte um hilfe.
    bei fragen zum verständnis bitte fragen
    gruss
    mogli3


Log in to reply