Probleme bei #includes von Libxml2



  • Hallo zusammen

    Ich habe das Problem das mein, ich denke mal Linker mir ein Error wirft, den ich nicht verstehe. Ich will mich gerade an libxml2 versuchen, bin aber dabei nicht wirklich weit gekommen. Ich habe aus testzwecken diesen C++ code:

    #include "libxml/HTMLparser.h"
    #include "libxml/HTMLtree.h"
    
    htmlDocPtr htmlParseFile (const char * filename, const char * encoding);
    
    int main(){
        const char *url = "test.html";
        const char *encoding = nullptr;
        htmlDocPtr pageTree = htmlParseFile(url,encoding);
        return 0;
    

    und versuche ihn mit g++ zu kompilieren

     g++ -I /usr/include/libxml2 test.cpp
    

    mit dem -I gebe ich den Include Pfad an. Der linker sucht das aber nicht 🤔 ... oder was will mir diese Error-Meldung sagen 😅 ?

    /usr/bin/ld: /tmp/ccHcfJXF.o: in function `main':
    test.cpp:(.text+0x2a): undefined reference to `htmlParseFile'
    collect2: error: ld returned 1 exit status
    

    Ich wäre euch echt dankbar wenn ihr mir da helfen könntet 😅 😅

    Ps.: wenn das nicht der linker sein sollte, sondern was anderes, wäre es nett wenn ihr mir helfen würdet den Fehler zu beheben ... und nicht einfach nur "google linker" oder einen verweis auf stackoverflow schicken würdet. ich habe mir da schon vieles durchgelesen, komme aber gerade nicht wirklich weiter ... 😅 😅 😅

    Grüße EvD



  • @EvD sagte in Probleme bei #includes von Libxml2:

    /usr/include/libxml2

    Ja, ist eine Fehlermeldung vom Linker die besagt, daß er ein verwendetes Symbol (htmlParseFile) nicht finden kann.

    Lies bitte die FAQ und verwende xml2-config --cflags um die richtigen Compilerflags und xml2-config --libs um die Linkerflags zu erfahren.

    PS: htmlParseFile() selbst zu deklarieren war wohl eine Verzweiflungstat. Tu das bitte wieder weg. htmlParseFile() wird schon in den Header Files von libxml2 deklariert.



  • dann habe ich noch eine kleine Frage 😅

    wie bekomme ich hin, das ich das ganze auch in meinem Visual Studio Code debugger ausführen kann 🤔
    dann muss ich die .jason bearbeiten ... aber an welcher stelle muss ich das hinzu fügen 🤔 😅

    wäre echt cool wenn ihr mir da helfen könntet ... mit std::cout bekommt man das auf dauer auch irgendwie hin, aber das ist nicht so schön wie ein gescheiter debugger. 😅



  • @EvD Bitte in Zukunft eine Frage pro Thread und ein Thread pro Frage. Sowas ist hier auch Off-Topic, gehört ins Compiler- und IDE-Forum.


Log in to reply