Kann keine Klassen aus einer Libary einbinden
-
Hallo
Ich versuche gerade ein Id3 Programm zu schreiben das ist mein erstes C++ Projekt das ich mir gesetzt habe.
Das habe ich bisher geschrieben:
#include <id3/tag.h> #include <id3/field.h> #include <iostream.h> #include <id3/field.h> using namespace dami; int main(){ ID3_Tag myTag("Abba.mp3"); ID3_Frame* myFrame = myTag.Find(ID3FID_TITLE); if (NULL != myFrame) { const char* title = myFrame->GetField(ID3FN_TEXT)->GetText(); cout << "Title: " << title << endl; } return 0; }
Und wenn ich das Kompelieren will dann kommt der Fehler
mp3.cpp: In function `int main()': mp3.cpp:18: error: `GetText' undeclared (first use this function) mp3.cpp:18: error: (Each undeclared identifier is reported only once for each function it appears in.) mp3.cpp:23:2: warning: no newline at end of file
Jetzt habe ich in der Doku von Id3 Gefunden das die GetText Funktion/Klasse was auch immer in GetText() : ID3_FieldImpl Steckt.
http://id3lib.sourceforge.net/api/functions.html#index_gAber leider bekomme ich das nicht Eingebunden wenn ich
#include <ID3/FieldImpl.h> Findet er das nicht #include <FieldImpl.h> Das gleiche.Was muss ich nun machen damit er das FIndet?
-
ID3_Frame hat keine Methode namens GetText
lies die doku mal genauer.
-
Kann mir denn Jemand sagen wo ich GetText() finden kann und wie ich es in meinen Code einbinden kann.Und noch eine Frage was Heißt eigentlich das ->
-
wenn ich das richtig sehe,
brauchst du fuer gettext ID3_FieldImpl
http://id3lib.sourceforge.net/api/class_i_d3___field_impl.html#a17
(ich hab nur 2 sek. reingeschaut o.O).das -> ist eine abkuerzende schreibweise.
du kannst damit auf methoden/attribute zugreifen.struct test { int a; }; ... test t; t.a = 123; test* pt = new test; pt->a = 123; //das ist ne abkuerzende schreibweise fuer (*pt).a = 123
da pt ein zeiger auf test ist, musst du den zeiger zuerst
dereferenzieren, bevor du auf attribute zugreifen kannst.
der operator -> erledigt das in einem schritt.
-
Also wenn ich ein
#include <field_impl.h>
Hinzufüge dann bringt das nur das ich noch eine Fehlermeldung bekomme
mp3.cpp:4:24: field_impl.h: No such file or directory
-
dann mach halt wie bei den anderen auch
#include <id3/field_impl.h>
und kauf dir maln gutes buch über c++!