error LNK 2001



  • Hallo Leute,

    ich bekomme beim compilieren folgende Fehler:

    Fehler	5	error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl iniparser_set(struct _dictionary_ *,char const *,char const *)" (?iniparser_set@@YAHPAU_dictionary_@@PBD1@Z)".	
    Fehler	6	error LNK2001: Nicht aufgelöstes externes Symbol ""struct _dictionary_ * __cdecl iniparser_load(char const *)" (?iniparser_load@@YAPAU_dictionary_@@PBD@Z)".	
    Fehler	7	error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl iniparser_dump_ini(struct _dictionary_ *,struct _iobuf *)" (?iniparser_dump_ini@@YAXPAU_dictionary_@@PAU_iobuf@@@Z)".	
    Fehler	8	error LNK2001: Nicht aufgelöstes externes Symbol ""char * __cdecl iniparser_getstring(struct _dictionary_ *,char const *,char *)" (?iniparser_getstring@@YAPADPAU_dictionary_@@PBDPAD@Z)".	
    Fehler	9	error LNK2001: Nicht aufgelöstes externes Symbol ""double __cdecl iniparser_getdouble(struct _dictionary_ *,char const *,double)" (?iniparser_getdouble@@YANPAU_dictionary_@@PBDN@Z)".	
    Fehler	10	error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl iniparser_freedict(struct _dictionary_ *)" (?iniparser_freedict@@YAXPAU_dictionary_@@@Z)".	
    Fehler	11	error LNK1120: 6 nicht aufgelöste Externe
    

    Wie kann ich die Fehler beheben?

    Danke



  • Wahrscheinlich gibt es eine iniparser.cpp die du hättest kompilieren und linken müssen. Die Fehlermeldung sagt er konnte die Funktion "iniparser_set" nicht finden, also musst du sie suchen und ihm sagen wo sie ist.



  • Indem du das Problem verstehst. Es fehlen Definitionen der angegebenen Funktionen. Mögliche Fehler: Du hast sie vergessen zu implementieren, du hast dich verschrieben, du hast die entsprechenden Quelldateien nicht mitcompiliert und -gelinkt, du hast die Bibliothek nicht mitgelinkt, ...



  • Hallo nwp3 und Bashar,

    danke. Hat jetzt geklappt. Tatsächlich hatte sich die iniparser.cpp in iniparser.c umbenannt. Deshalb der Fehler.

    Grüße



  • Kann mir jemand erklären, warum die oben genannten Fehler auftauchen, wenn ich die Quelldatei iniparser.c benenne , aber als Compiler Option /TP angebe. Müsste ja trotzdem als C++ compilieren oder habe ich ein Verständnisproblem?

    LG



  • Gehört sie dann noch zum Projekt? Hast du sie in der IDE oder im Dateimanager umbenannt?

    Wird sie denn noch mitkompiliert? Wird die resultierende .o-Datei mitgelinkt?



  • Sie ghört noch zum Projekt und wurde im Datei-Manager umbennant.


Log in to reply