Hallo, ich habe vor kurzem auf openSuSE 12.1 geupdated und wollte jetzt die aktuelle Version des VDR mit meinen Plugins kompilieren. Leider bekomme ich beim vompserver immer eine Fehlermeldung. Da ich keine Ahnung vom Programmieren habe, hoffe ich hier ein paar Tipps zu bekommen. Hier ist die Fehlermeldung:
mediafile.c: In member function ‘virtual MediaList* MediaFile::getMediaList(const MediaURI*)’: mediafile.c:126:21: error: expected primary-expression before ‘struct’ mediafile.c:126:36: error: ‘d_name’ was not declared in this scope mediafile.c:126:42: error: ‘offsetof’ was not declared in this scope mediafile.c:126:58: error: array bound is not an integer constant before ‘]’ token
und hier die entsprechenden Zeilen aus der Datei mediafile.c:
MediaList* MediaFile::getMediaList(const MediaURI * parent){ ULONG mediaType=parent->getAllowedTypes(); Log::getInstance()->log("MediaFile::getMediaList",Log::DEBUG,"parent %s,types=0x%0lx",parent->getName(),mediaType); MediaList *rt=NULL; rt=new MediaList(parent); const char *dirname=parent->getName(); //open the directory and read out the entries DIR *d=opendir(dirname); struct dirent *e; union { // according to "The GNU C Library Reference Manual" struct dirent d; char b[offsetof(struct dirent, d_name) + NAME_MAX + 1]; } u;
Zeile 126 ist "char b[offsetof(struct dirent, d_name) + NAME_MAX + 1];"
Ich freue mich über jeden Tipp, bei Bedarf kann ich natürlich auch mehr Code zitieren, ich wollte die Zitate nicht zu lang werden lassen.
Danke, Andreas
openSuSE 12.1 Kernel 3.1.0-1.2-desktop vdr 1.7.22 vompserver 0.3.1-3-Yaris (von http://www.russle.net/vomp/)