Projektstruktur: Wo externe Lib einbinden?



  • Hallo,

    Ich arbeite gerade an einem Spiel (nennen wir es Game) und einer GameEngine (GameEngine). Die Engine hat den Namespace m3d. Die Ordnerstruktur sieht so aus:

    Game/
    GameEngine/
       inc/
          m3d/
          render systems/
             m3d/
          scene/
             m3d/
       src/
          render systems/
          scene/
    

    Unter inc liegen die Header der Engine. Die Kamera liegt zb unter inc/scene/m3d/Camera.h und der Source unter src/scene/Camera.cpp.

    Nun benutze ich zum 1. Mal eine externe Lib (SDL_sound), bestehend aus Headern und 2 .lib Dateien. Ich habe für die Engine einen Wrapper (Sound.h und Sound.cpp) um diese SDL_sound lib geschrieben.
    Klar, meine selber geschriebene Sound.h/cpp kommt natürlich in die Engine, aber wo speichere ich am besten die SDL_sound Dateien (Header + .lib) hin?

    Sollte ich einen Ordner GameEngine/3rdParty/SDL_sound machen und da dann Header + .lib kopieren?

    Oder lieber GameEngine/3rdParty/inc und GameEngine/3rdParty/lib?

    Oder sollte ich die Header von SDL_sound einfach in meine Engine aufnehmen? Also z.B. unter GameEngine/inc/sound und die SDL_sound .lib Dateien unter GameEngine/lib?

    Was wäre die beste Lösung?


Anmelden zum Antworten