Ich versuche gerade verzweifelt, XMMS Plugins in meinem eigenen Programm zu laden.
Ich habe also die Source von XMMS durchsucht und bin auf die pluginenum.c und .h gestossen. Dort werden die Plugins geladen.
In der plugin.h werden structs für jede Pluginart definiert (Input, Output, etc.). Diese plugin.h muss ich nun in meinem eigenen Projekt einbinden, damit ich die Plugins verwenden kann.
Das Problem ist allerdings, dass in der plugin.h überall diese glib Container verwendet werden (XMMS ist anscheinend komplett in C geschrieben). Wenn ich mein Programm kompilieren will meldet er eine ganze Reihe Fehler in der glib.h (wird in der plugin.h inkludiert).
Mein Programm möchte ich allerdings in C++ schreiben, ist vielleicht der Compiler schuld? Oder muss ich noch ein zusätzliches Verzeichniss inkludieren?
Die plugin.h habe ich schon versucht umzuschreiben, dass es ohne glib funktioniert, aber das ist gar nicht so einfach, vor allem wegen GList*. wenn ich es einfach mit void* austausche kann ich zwar kompilieren, dafür kriege ich Probleme beim Suchen der Symbole (hängt meiner Meinung nach mit der veränderten plugin.h zusammen).
Vielen Dank
Im Anhang mein Programm und der Compiler Output.
hmm.. irgendwie kann ich nichts anhängen:
Compiler output: http://nopaste.php-q.net/78056
main.cpp: http://nopaste.php-q.net/78057
plugin.h: http://nopaste.php-q.net/78059
Makefile:
all: g++ -ldl -g -I/usr/include/glib-2.0/ main.cpp -o main
Lesezeichen