Hi Marc,
compiliert es nicht oder läuft es nicht?
Welche Header hast du geändert?
horchi
Hi Marc,
compiliert es nicht oder läuft es nicht?
Welche Header hast du geändert?
horchi
Ich habe es mit beiden Versucht. In beiden Fällen kompiliert der Audirecorder nicht.
ZitatOriginal von zulu
Ich habe es mit beiden Versucht. In beiden Fällen kompiliert der Audirecorder nicht.
Hi ich sehe es gerade auch, ich hatte es so vorhin mit dem Patch in Version 18 compiliert, nun habe ich auf 19 upgedated und es geht auch nicht mehr, ich schaue es mir nochmal an.
horchi
Hier die Fehlermeldung wenn ich es im Audiorecorder ändere:
g++ -g -O2 -Wall -Woverloaded-virtual -fPIC -c -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_OSDMAXITEMS -DUSE_PINPLUGIN -DUSE_PLUGINMISSING -DUSE_REPLACEMENUS -DUSE_SETTIME -DUSE_SETUP -DUSE_SORTRECORDS -DUSE_WAREAGLEICON -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"audiorecorder"' -DTIXML_USE_STL -I../DVB/include -I../../../include -I../DVB/include -I/usr/include/taglib -o xml-cache.o xml-cache.c
xml-cache.c: In member function 'void cXmlCache::add_track(const cTrackInfo&, bool)':
xml-cache.c:83: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:83: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:83: error: expected `;' before 'track'
xml-cache.c:84: error: 'track' was not declared in this scope
xml-cache.c: In member function 'virtual void cXmlCache::copy_to_objects()':
xml-cache.c:117: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:117: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:117: error: 'xml_track' was not declared in this scope
xml-cache.c:125: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:125: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:125: error: 'tmp' was not declared in this scope
xml-cache.c:139: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:139: error: reference to 'TiXmlElement' is ambiguous
../../../include/vdr/tinyxml.h:773: error: candidates are: class TiXmlElement
tinyxml/tinyxml.h:847: error: class a_land::TiXmlElement
xml-cache.c:139: error: 'element' was not declared in this scope
make[1]: *** [xml-cache.o] Fehler 1
Alles anzeigen
Hi,
das liegt nun sicher am audiorecorder, dort ist ja bereits der namespace a_alnd definiert, jedoch nicht an allen Stellen verwendet. Also, die oben beschriebene Änderung an tinyxml/tinyxml.h und der folgende Patch dann sollte es klappen
--- ../plain/audiorecorder-0.1.0-pre6//xml-cache.c 2006-09-05 18:01:20.000000000 +0200
+++ xml-cache.c 2007-02-13 00:14:44.000000000 +0100
@@ -80,7 +80,7 @@
trackinfo.get_title().empty())
return;
- TiXmlElement track("track");
+ a_land::TiXmlElement track("track");
track.SetAttribute("path", trackinfo.get_path());
track.SetAttribute("date", trackinfo.get_date());
track.SetAttribute("time", trackinfo.get_time());
@@ -114,7 +114,7 @@
void cXmlCache::copy_to_objects(void)
{
- TiXmlElement *xml_track = get_root()->FirstChildElement("track");
+ a_land::TiXmlElement *xml_track = get_root()->FirstChildElement("track");
while (xml_track) {
cTrackInfo trackinfo;
@@ -122,7 +122,7 @@
string path = xml_track->Attribute("path");
if (path.empty() || access(path.c_str(), F_OK) == -1) {
/* remove deleted files from the xml-cache */
- TiXmlElement *tmp = xml_track;
+ a_land::TiXmlElement *tmp = xml_track;
xml_track = xml_track->NextSiblingElement("track");
get_root()->RemoveChild(tmp);
@@ -136,7 +136,7 @@
if (xml_track->Attribute("time"))
trackinfo.set_time(xml_track->Attribute("time"));
- for (TiXmlElement *element = xml_track->FirstChildElement();
+ for (a_land::TiXmlElement *element = xml_track->FirstChildElement();
element; element = element->NextSiblingElement()) {
if (element->FirstChild() == NULL)
continue;
Alles anzeigen
Grüße
horchi
Hi horchi,
Viele Grüße
Marc
Und die beiden Änderungen von horchi in einem Diff.
Mit "patch -p1 < ..." ausführen.
Grüße
Marc
Trotz des Patches bekomme ich diesen Fehler:
g++ -g -O2 -Wall -Woverloaded-virtual -lImlib2 "-D__user=" -D_GNU_SOURCE -fPIC -c -DUSE_CMDSUBMENU -DUSE_CUTTERLIMIT -DUSE_CUTTERQUEUE -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_DVBPLAYER -DUSE_DVDARCHIVE -DUSE_GRAPHTFT -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_LIVEBUFFER -DUSE_LNBSHARE -DUSE_NOEPG -DUSE_OSDMAXITEMS -DUSE_PINPLUGIN -DUSE_PLUGINMISSING -DUSE_REPACKERSETUP -DUSE_REPLACEMENUS -DUSE_ROTOR -DUSE_SETTIME -DUSE_SETUP -DUSE_SOURCECAPS -DUSE_SORTRECORDS -DUSE_SUBTITLES -DUSE_SWITCHTIMER -DUSE_TIMERCMD -DUSE_TIMERINFO -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -DUSE_YAEPG -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"audiorecorder"' -DTIXML_USE_STL -I../../../include -I/include -I/usr/include/taglib -o audiorecorder.o audiorecorder.c
In file included from xml-base.h:8,
from xml-cache.h:8,
from cache.h:8,
from mainmenu.h:9,
from audiorecorder.c:12:
tinyxml/tinyxml.h: In method `const class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::First() const':
tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private
tinyxml/tinyxml.h:824: within this context
tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private
tinyxml/tinyxml.h:824: within this context
tinyxml/tinyxml.h:824: warning: control reaches end of non-void function `a_land::TiXmlAttributeSet::First() const'
tinyxml/tinyxml.h: In method `class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::First()':
tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private
tinyxml/tinyxml.h:825: within this context
tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private
tinyxml/tinyxml.h:825: within this context
tinyxml/tinyxml.h:825: warning: control reaches end of non-void function `a_land::TiXmlAttributeSet::First()'
tinyxml/tinyxml.h: In method `const class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::Last() const':
tinyxml/tinyxml.h:798: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::prev' is private
tinyxml/tinyxml.h:826: within this context
tinyxml/tinyxml.h:798: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::prev' is private
tinyxml/tinyxml.h:826: within this context
tinyxml/tinyxml.h:826: warning: control reaches end of non-void function `a_land::TiXmlAttributeSet::Last() const'
tinyxml/tinyxml.h: In method `class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::Last()':
tinyxml/tinyxml.h:798: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::prev' is private
tinyxml/tinyxml.h:827: within this context
tinyxml/tinyxml.h:798: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::prev' is private
tinyxml/tinyxml.h:827: within this context
tinyxml/tinyxml.h:827: warning: control reaches end of non-void function `a_land::TiXmlAttributeSet::Last()'
make[1]: *** [audiorecorder.o] Error 1
make[1]: Leaving directory `/usr/src/vdr-1.4.5-extp/PLUGINS/src/audiorecorder-0.1.0-pre6'
Alles anzeigen
Gruß
Toxic
ZitatOriginal von Toxic-Tonic
Trotz des Patches bekomme ich diesen Fehler:
CodeAlles anzeigeng++ -g -O2 -Wall -Woverloaded-virtual -lImlib2 "-D__user=" -D_GNU_SOURCE -fPIC -c -DUSE_CMDSUBMENU -DUSE_CUTTERLIMIT -DUSE_CUTTERQUEUE -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_DVBPLAYER -DUSE_DVDARCHIVE -DUSE_GRAPHTFT -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_LIVEBUFFER -DUSE_LNBSHARE -DUSE_NOEPG -DUSE_OSDMAXITEMS -DUSE_PINPLUGIN -DUSE_PLUGINMISSING -DUSE_REPACKERSETUP -DUSE_REPLACEMENUS -DUSE_ROTOR -DUSE_SETTIME -DUSE_SETUP -DUSE_SOURCECAPS -DUSE_SORTRECORDS -DUSE_SUBTITLES -DUSE_SWITCHTIMER -DUSE_TIMERCMD -DUSE_TIMERINFO -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -DUSE_YAEPG -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"audiorecorder"' -DTIXML_USE_STL -I../../../include -I/include -I/usr/include/taglib -o audiorecorder.o audiorecorder.c In file included from xml-base.h:8, from xml-cache.h:8, from cache.h:8, from mainmenu.h:9, from audiorecorder.c:12: tinyxml/tinyxml.h: In method `const class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::First() const': tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private tinyxml/tinyxml.h:824: within this context tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private tinyxml/tinyxml.h:824: within this context tinyxml/tinyxml.h:824: warning: control reaches end of non-void function `a_land::TiXmlAttributeSet::First() const' tinyxml/tinyxml.h: In method `class a_land::TiXmlAttribute * a_land::TiXmlAttributeSet::First()': tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private tinyxml/tinyxml.h:825: within this context tinyxml/tinyxml.h:799: `class a_land::TiXmlAttribute * a_land::TiXmlAttribute::next' is private
Gruß
Toxic
Hi Toxic,
das scheint mir eine vom oben beschriebenen Problem unabhängige Ursache zu haben. Die Klasse TiXmlAttributeSet ist 'friend' der Klasse TiXmlAttribute und darf somit auf deren private Methoden zugreifen.
Warum der Compiler das nicht mag ... ? Ich habe ganz dunkel in Erinnerung, dass es mit einer/einigen alten gcc Versionnen Probleme mit der friend Klausel gab.
horchi
Kann natürlich sein! Aber die pre6 hat ja schon funktioniert! Nur in Kombination mit dem Extensions-Patch klappt es im Moment nicht mehr! Hat dieses Patch darauf irgend einen Einfluß gehabt?
kannst Du mal schauen, ob sich der LocalChannelProvide-Patch aus dem streamdev-Plugin in Deine Sammlung integrieren lässt?
Oder nutzen das zu wenig Leute? Ich hab es momentan noch mit dem BigPatch im Einsatz.
Der Patch bewirkt, dass man auf einem streamdev-client das Empfangsteil z.b. einer FF-Karte abschalten kann.
Gruss
ofenheizer
ZitatOriginal von Toxic-Tonic
Kann natürlich sein! Aber die pre6 hat ja schon funktioniert! Nur in Kombination mit dem Extensions-Patch klappt es im Moment nicht mehr! Hat dieses Patch darauf irgend einen Einfluß gehabt?
klares jaein, ist jetzt eine sehr wage Vermutung da ich es mit dem gcc welchen ich gerade einsetze nicht nachvollziehen kann. Es ist möglich, dass es diese Klasse (TiXmlAttribute) aus dem Header, welcher vom Setup-Patch mitgeliefert wurde verwendet hat. Was m.E. ein (glücklicher?) Zufall ist. Das klappt nach dem Patch und dem konsequenten verwenden des a_land Namespaces nicht mehr.
Als Workaround kannst du in tinyxml/tinyxml.h ein public: einbauen
private:
TiXmlAttribute( const TiXmlAttribute& ); // not implemented.
void operator=( const TiXmlAttribute& base ); // not allowed.
+ public:
TiXmlDocument* document; // A pointer back to a document, for error reporting.
TIXML_STRING name;
TIXML_STRING value;
TiXmlAttribute* prev;
TiXmlAttribute* next;};
Ob es dann noch andere/weitere Hürden gibt .... ?
horchi
Hi Toxic,
Zitat-DUSE_REPACKERSETUP
Der Repacker ist jetzt im DVBSETUP enthalten.
Gruß
Marc
Hallo ofenheizer,
ZitatAlles anzeigenOriginal von ofenheizer
zulu
kannst Du mal schauen, ob sich der LocalChannelProvide-Patch aus dem streamdev-Plugin in Deine Sammlung integrieren lässt?
Oder nutzen das zu wenig Leute? Ich hab es momentan noch mit dem BigPatch im Einsatz.
Der Patch bewirkt, dass man auf einem streamdev-client das Empfangsteil z.b. einer FF-Karte abschalten kann.
Gruss
ofenheizer
ZitatDVBSETUP - Setup fuer AC3-Transfer, A/V-Repacker, QAM_256, FF-Tuner abschalten
Sowas ist schon im DVBSETUP enthalten.
Probier es aus und wenn das nicht reicht baue ich den LocalChannelProvide-Patch ein.
Oder ist der das eventell schon? Ich habe "meinen" aus dem x-vdr thread.
Gruß
Marc
Beides hilft!
Ich bevorzuge die Lösung von Horchi, weil ich dann das Pin-Plugin nutzen kann...
Danke und Gruß
Toxic
ZitatAlles anzeigenOriginal von Toxic-Tonic
Beides hilft!
Ich bevorzuge die Lösung von Horchi, weil ich dann das Pin-Plugin nutzen kann...
Danke und Gruß
Toxic
Da horchi die Lösung gleich parat hat, habe ich meine Holzhammer-Methode mal raus genommen
Gruß
Marc
Hi,
na ja, viel schöner ist meine Version auch nicht, einfach die Member 'public' zu machen. Wobei, im Original wird friend verwendet, darüber lässt sich auch streiten
@Toxic, wenn man fragen darf, welchen gcc verwendet du?
horchi
ZitatOriginal von zulu
Sowas ist schon im DVBSETUP enthalten.
Probier es aus und wenn das nicht reicht baue ich den LocalChannelProvide-Patch ein.
Oder ist der das eventell schon? Ich habe "meinen" aus dem x-vdr thread.
ui, hab ich glatt überlesen. hört sich aber stark danach an - ich teste das dann mal.
thx
ofenheizer
Tach!
Hätte da noch eine Kleinigkeit! Das Cutterqueue-Patch meldet sich im OSD mit einem englischen Text! Habe das mal in deinem Patch übersetzt und ein .diff gezogen. Könntest du das in deinen nächste Version einbauen?
Danke und Gruß
Toxic
Hallo Toxic,
ich habe es mal in die i18n.c eingebaut, sonst gibt es nachher Mecker von Pat
Gruß
Marc
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!