Hi,
Ich stecke gerade in einem Dilemma und zwar zum Thema syncsys. Aktuell ist es so, dass enet einen expliziten include-Pfad bedarf. Die Pfade für zlib sind aber angepasst. Entweder ich passe die Pfade von ENet an und erzwinge so die Nutzung der mitgelieferten Version von zlib und enet oder ich führe die Pfade von zlib auf die Standardwerte zurück.
Ersteres wäre für windows Nutzer und Nutzer von den lokalen Versionen angenehmer, allerdings besteht die Gefahr, dass linux und mac Nutzer ausversehen die zlib header von der lokalen Version nutzen, aber gegen eine global installierte Version linken, da ich unter linux/mac nicht festlegen kann, dass er nur gegen die mitgelieferte Version linkt.
Die andere Alternative ist, dass ich nur auf den enet bzw. zlib header verweise, aber die Pfade angeben lassen. Somit ist das Includieren/Linken auf Linuxsystem einfach, wenn die libs installiert sind. Allerdings könnten dann für jedes OS andere lib Versionen genutzt werden mit der Gefahr von Inkompatibilitäten. Außerdem müssten dann Windowsnutzer dann immer explizit die Includepfade der mitgelieferten Libs angeben.
Die dritte Alternative ist, dass ich zlib und enet als integralen Bestandteil von syncsys auffasse und es komplett integiere. Allerdings könnte im leichtesten Fall bei der Nutzung von Zlib durch andere Libs doppelter Bincode entstehen und im schlimmsten Fall doppelte Definitionen (bin ich mir nicht so ganz sicher).
EDIT: Es wäre natürlich hilfreich, wenn ich auch eine entsprechende Frage formuliere, auch wenn der Sinn eigentlich schon oben drinne steht;
Welche Variante würdet ihr als Benutzer, sprich Entwickler, vorziehen? Welchen Ansatz empfindet ihre als den "nativsten"?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Nox« (29.07.2011, 04:24)