undefined reference



  • Hi,

    //my_tag.h
    
    #ifndef TAG_H_INCLUDED
    #define TAG_H_INCLUDED
    
    #include <iostream>
    #include <string>
    #include <tag.h>
    
    using namespace std;
    
    class Tag
    {
        public:
    
        ID3_Tag worktag;
    	ID3_Frame *frame1;
    	char artist[1024], title[1024], length[1024], album[1024], year[1024];
    
        public:
    
        bool read(string mp3);
    };
    
    #endif // TAG_H_INCLUDED
    
    //my_tag.cpp
    
    #include "tag.h"
    
    using namespace std;
    
    bool Tag::read(string mp3)
    {
        worktag.Link(mp3.c_str());
    
        frame1 = worktag.Find(ID3FID_LEADARTIST);
    	frame1->Field ( ID3FN_TEXT ).Get ( artist, 1024 );
    
    	worktag.Clear();
    
    }
    

    Der Linker meldet hierbei:

    |undefined reference to `ID3_Tag::Link(char const*, unsigned short)'|

    Was mir jedoch ein Rätsel ist da sowohl die erforderliche tag.h eingebunden wird und auch das worktag Objekt vorhanden ist.

    Was überseh eich?



  • Handelt es sich bei tag.h um eine Datei aus einer externen Bibliothek?

    Ich vermute, du benutzt eine fremde Bibliothek in deinem Projekt, hast das zusätzliche Include-Verzeichnis gesetzt, aber vergessen, das zusätzliche Lib-Verzeichnis zu setzen.



  • Hau doch mal nen Namespace drum.



  • Kopf.AufTischschlag();

    Ich hatte tatsächlich vergessen gegen die id3lib zu linken.

    Danke 🙂


Anmelden zum Antworten