Ich habe keine Ahnung ob ich mich richtig ausgedrückt habe. id3lib schreibt auf der Projektseite nichts davon, dass ich beim kompilieren -lid3lib anfügen müsste. (Natürlich können die das als "selbstverständlich" deklarieren, k.A.) Leider ändert es nichts an der ausgabe. Wenn ich mir die id3/tag.h ansehe begrüßen mich Klassendefintionen:
Code:
// -*- C++ -*-
//.........einige Zeilen zur Lizenz
#ifndef _ID3LIB_TAG_H_
#define _ID3LIB_TAG_H_
#include <id3/id3lib_frame.h>
#include <id3/field.h>
#include <id3/utils.h>//for ID3_PATH_LENGTH
class ID3_Reader;
class ID3_Writer;
class ID3_TagImpl;
class ID3_Tag;
class ID3_CPP_EXPORT ID3_Tag
{
ID3_TagImpl* _impl;
char _tmp_filename[ID3_PATH_LENGTH];
public:
und so weiter. Also die Header, die ich einfügen soll sind ganz klar C++.
Ich paste euch mal den Anfang von dem Compilerfehler:
Code:
baron@hlidskjalf ~/Arbeit/C $ gcc -o mp3 mp3.c -lid3lib
In file included from /usr/include/id3/tag.h:32,
from mp3.c:2:
/usr/include/id3/id3lib_frame.h:33: error: Syntaxfehler before "ID3_Field"
/usr/include/id3/id3lib_frame.h:34: error: Syntaxfehler before "ID3_FrameImpl"
/usr/include/id3/id3lib_frame.h:35: error: Syntaxfehler before "ID3_Reader"
Der gleiche Fehler kommt egal ob ich -lid3lib angebe oder nicht und ob ich es weiter vorne schreibe oder nicht.
Ich denke ich benutze die falschen Header für C... nur wo sollten die sein? Ich hab schon mal /usr/include durgestöbert und finde nichts dergleichen...
Lesezeichen