für mich unverständliche compilerausgabe



  • hi es geht um diese compilerausgabe:

    1>Bild.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: class std::vector<class bcString,class std::allocator<class bcString> > __thiscall bcString::split(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" (?split@bcString@@QAE?AV?$vector@VbcString@@V?$allocator@VbcString@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@_N@Z)" in Funktion ""public: bool __thiscall Bild::load(class bcString)" (?load@Bild@@QAE_NVbcString@@@Z)".
    

    also ich verstehe das ganze so:
    in der datei Bild.cpp verwende ich deine undeffinierte funktion aus der klasse bcString.
    die funktion ist split(....)

    allerdings kann das nicht der fehler sein, da ich bcString.hpp eingebunden habe und auch die funktion split deffiniert habe.

    das einzige problem könnte wenn dann bei der in dem projekt eingebundenen datei bcString.hpp liegen. diese dient nur als abkürzung, damit ich nicht so viel schreiben muss und sieht so aus

    #pragma once
    #include"G:\_proggen\_workspaces\c++\visual studio 2010\Projects\erweiterte_klassen\erweiterte_klassen\bcString.hpp"
    

    allerdings bezweifel ich, dass das der fehler ist.

    die gesammte ausgabe sieht so aus:

    1>  Code wird generiert...
    1>Bild.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: class std::vector<class bcString,class std::allocator<class bcString> > __thiscall bcString::split(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" (?split@bcString@@QAE?AV?$vector@VbcString@@V?$allocator@VbcString@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@_N@Z)" in Funktion ""public: bool __thiscall Bild::load(class bcString)" (?load@Bild@@QAE_NVbcString@@@Z)".
    1>Punkt.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: class std::vector<class bcString,class std::allocator<class bcString> > __thiscall bcString::split(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" (?split@bcString@@QAE?AV?$vector@VbcString@@V?$allocator@VbcString@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@_N@Z)".
    1>Versuch.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: class std::vector<class bcString,class std::allocator<class bcString> > __thiscall bcString::split(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" (?split@bcString@@QAE?AV?$vector@VbcString@@V?$allocator@VbcString@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@_N@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: int __thiscall bcString::toInt(void)" (?toInt@bcString@@QAEHXZ)" in Funktion "_main".
    1>Punkt.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: int __thiscall bcString::toInt(void)" (?toInt@bcString@@QAEHXZ)".
    1>Versuch.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: int __thiscall bcString::toInt(void)" (?toInt@bcString@@QAEHXZ)".
    1>Versuch.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall Blutegel::~Blutegel(void)" (??1Blutegel@@QAE@XZ)" in Funktion "__catch$?init@Versuch@@QAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z$0".
    1>G:\_proggen\_workspaces\c++\visual studio 2010\Projects\blutegel\Debug\blutegel.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    


  • In einem Header steht üblicherweise nur die Deklaration der Funktionen, zusätzlich müsstest du noch eine CPP oder LIB-Datei irgendwo rumliegen haben, die du mit übersetzen und linken mußt (und in der die Funktionsdefinitionen stehen).


Anmelden zum Antworten