3D-Framework, extra libs unnötig?
-
Hallo,
ich bin schon seit einigen Tagen an einem Konzept für ein neues 3D-Framework und da ist mir der Gedanke gekommen, Boost mit einzubinden. Nunja, jetzt frage ich mich, ob es für den End-Benutzer nicht etwas schwierig und umständlich werden könnte. Neben Boost würde dann später höchstwahrscheinlich noch OpenAL dazu kommen. Nun stellt sich mir die Frage, ob man die ganzen libs einfach in einen Ordner im Framework reinhauen sollte oder man ganz auf soetwas verzichten sollte?
Danke im Voraus!
-
Ja, das ist eine gute Frage. Ich würde dabei die Zielgruppe wissen wollen. Ist das Framework von Haus aus eh schon komplexer und nicht für den C++-Einsteiger gedacht? Dann kann man dem Anwender fremde Libs zumuten!
Wenn das Framework idiotensicher sein soll, und die Anleitung kurz und knapp gehalten werden muß, solltest du alles selber machen und auf fremde Libs verzichten. Was aber wieder evtl. mehr Arbeit für dich bedeutet.
Wenn man schon alleine diese Fragen sieht, haben wir aber doch ein generelles Problem, oder?
Perfekt wäre es, wenn der Anwender das Projekt auf seinem PC hat und mit einem Kommandoaufruf alles gebaut wird, und er am Ende alle Libs auf seiner Platte hat. Mit der Boost Lizenz ist es rein rechtlich gesehen kein Problem: rein mit allen nötigen Boost-Sourcen in das eigene Projekt und es mit in den eigenen Build einbeziehen. Fertig. Vor allem wenn man nur Only-Header-Boost-Libs nutzt, geht das super einfach. Alles in einem Download bereit stellen, fertig.
Schwieriger wird es mit Binary-Boost-Libs... ich habe die Erfahrung gemacht, dass das bcp.exe Tool von Boost ein guter Ansatz ist, aber es erstellt mir leider keine bjam-Scripte. *grrr* Also, deshalb würde ich das so machen: eine Crashkurs-Anleitung der Projektdoku mitgeben, wie man binäre Boost-Libs baut.
Grundsätzlich bin ich aber der Meinung, das fremde Libs (wenn sie gut sind) bevorzugt werden, bevor man selber was bastelt...
Leider sind die bisherigen Build-Systeme (autotool, bjam, scons usw.) nicht sehr weit gedacht. Immer ist irgendwas, was einen einfachen Build platformneutral für den Anwender verhindert.
Warum können die Tools z.B. keine fehlenden Libs autom. herunter laden? Wäre echt mal ne Maßnahme, so was zu entwickeln.
-
Die Frage ist rein theoretisch, und so würde ich sie auch behandeln: einfach machen, und nicht weiter drüber nachdenken.
Wer dein Framework verwenden will, muss sich in dem rein theoretischen Fall dass es jemals fertig werden sollte, einfach die Boost und OpenAL besorgen. Kein Beinbruch.
-
Verwende boost und alles was du brauchen kannst in deinem Framework so, dass der Benutzer selbst dann damit nicht mehr in Berührung kommt. Meine Philosophie
MfG
-
Da dein Framework eh niemand benutzen wird (kein Flame; nur Realismus), ist es ziemlich Wurst.
-
this->that schrieb:
Da dein Framework eh niemand benutzen wird (kein Flame; nur Realismus), ist es ziemlich Wurst.
Ok, woher möchtest du das wissen?