libSpiff



  • hallo, ich will das freie xspf playlist format implementieren und wollte dazu "libSpiff" (http://libspiff.sourceforge.net/) benutzen. alles wunderbar bis ich bemerkt habe, dass diese(r) entwickler in seinen / ihren header dateien jedesmal "using namespace std;" benutzen.

    was kann ich jetzt machen - klar könnt ich alle header ändern aber damit würde das programm nicht auf einem anderen rechner laufen. ich hab auch keine kontakt-infos zu den / dem entwickler(n) gefunden.

    jemand eine idee?

    mfg blan



  • Wieso sollte das Programm dann nicht auf einem anderen Rechenr laufen? Du gibst die Header doch nicht mit.



  • ich möchte ungern ein programm auf eine selbst umgeschriebene library aufbaun - vorallem net wenns opensource ist, dann wirds nähmlich nix mitm selber kompilieren.

    mfg blan



  • Gibt es denn bish jetzt ein konkretes Problem mit dem using namespace std; im Projekt ? Das es nicht schön ist, ist klar, aber wenn Du das nicht ändern kannst musst Du erst mal mit leben bis es probleme gibt und dann konkrete Lösungen für konkrete Probleme schaffen 🙂



  • naja das teil zerstört mir ja mein ganzes projekt, ich muss in meinen headern überall jetzt das "std::" wegmachen und bekomms nicht kompiliert wenn ich die libSpiff header einbinde. wieso schreibt jemand eine library der scheinbar noch weniger anhnung von stil hat wie ich und is dann noch so frech mein bugreoprt zu löschen...

    mfg blan



  • Bitte mal die Fehlermeldung posten. Das std:: sollte trotz using funktionieren.



  • blan schrieb:

    und is dann noch so frech mein bugreoprt zu löschen...

    Gelöscht? Soweit ich das sehe, ist der Fehler behoben und der Bug geschlossen.

    --robert



  • Hallo. Ich bin der Entwickler von libSpiff.

    blan schrieb:

    ich hab auch keine kontakt-infos zu den / dem entwickler(n) gefunden.

    Das ist nicht meine Schuld. Meine E-Mail-Adresse steht in jeder
    einzelnen Quelldatei und außerdem auf meiner Developer Profile-Seite
    bei SourceForge. Bei Google bin ich auch zu finden.
    Wenn du dich für deinen Bugreport eingeloggt hättest, statt als
    "Anonymous" zu posten, hätte ich dich erreichen können, was mir so nicht
    möglich war.

    blan schrieb:

    naja das teil zerstört mir ja mein ganzes projekt, ich muss in meinen headern überall jetzt das "std::" wegmachen und bekomms nicht kompiliert wenn ich die libSpiff header einbinde. wieso schreibt jemand eine library der scheinbar noch weniger anhnung von stil hat wie ich und is dann noch so frech mein bugreoprt zu löschen...

    Ich weiß nicht, ob es eine schlaue Idee ist, dem Entwickler der Library,
    die du verwenden willst, um XSPF support zu integrieren - nicht implementieren -,
    also mir, ans Bein zu pissen.

    Übrigens weiß ich immernoch noch nicht, wo das Problem mit
    "using namespace std;" liegt. Von daher würd ich mich über eine
    Erklärung freuen.



  • Das Problem ist die explizite Einbingung des Namensraumes.
    Diese wurden ja erfunden um mehrdeutigkeiten zu verhindern. Durch ein using namespace std; in den Headern, wird alles aus diesem Namespace global. Der Sinn des Namensraumes wird völlig zerstört und anwender der Lib, die mehrdeutigkeiten haben, können diese nur sehr sehr mühsig auflösen.

    using namespace hat in einem Header nichts verloren, da es unvorhersehbare Probleme mit anderen Libs und Namensräumen geben kann. Durch einbinden Deines Headers wird der globale Namensraum ordentlich erweitert .

    Sicherlich mag Hume hierzu noch ein paar Worte sagen ?

    Ansonsten ist es sicherlich nicht fein die Arbeit die hinter der lib steckt wegen dieses Bequemlichkeitsfehlers zu rügen. An dieser Stelle besten Dank für die Arbeiten an der Lib und Willkommen im Forum.

    P.s.: Wer Rechtschreibfehler findet darf sie behalten 👍



  • Ja, verstehe. Ich hab nun auch die restlichen usings aus den Headern rausgenommen.
    Das neue Release 0.4.2 gibt es hier:

    http://sourceforge.net/project/showfiles.php?group_id=176018


Anmelden zum Antworten