TLDR;
Powinien pan dodać źródła? TAK
Czy X powinien dodać źródło? ZALEŻY
Oto dlaczego ...
Wcześniej czas kompilacji był problemem, który miały nawet mniejsze projekty. Kompilowanie źródeł i nigdy nie martwienie się o buforowanie wyników kompilatora było zdecydowanie dla niektórych atrakcyjne. To jeden punkt dla bibliotek, które są dla ciebie nieistotne.
Kolejnym ważnym jest wersjonowanie. Czy naprawdę potrzebujesz wersji każdej biblioteki osobno? Czy przeprowadzić testy na każdym z nich? Czy rozdzielić go wśród wielu członków zespołu? Biblioteki są świetne, jeśli tak, i wygodne do poruszania się, ale wydaje się, że nie przejmujesz się tym.
Ostatnim punktem jest to, że jest to dodatkowy narzut, a upuszczanie plików źródłowych jest łatwiejsze w twoim przypadku, co daje bardzo mocny punkt do upuszczania źródeł, zamiast korzystania z bibliotek. Jak zauważyłeś, po wprowadzeniu jednej zmiany ustawienia kompilatora, musisz przeszukać wszystkie zależności w inny sposób.
Wiem to wszystko z doświadczenia:
W przypadku projektów Swift zdecydowanie używam frameworków (bibliotek) i łączę się z nimi, ponieważ łatwo go skonfigurować za pomocą Xcode. Naprawdę potrzebuję też wersji, testów i odsprzęgania, więc dlatego.
W przypadku projektów Mono (C #), w przypadku Unity, zacząłem od modnego podejścia do podziału projektu na biblioteki, skompilowałem i przetestowałem każdy z nich, co było świetne ... ale kiedy upuściłem biblioteki do Unity, pojawiły się różnego rodzaju problemy , od zhakowanej wersji Mono Unity, po zwykłe czasami inne zachowanie, które kod wykazuje przy zmianie platformy. Brak jednego IDE do zarządzania wszystkimi bibliotekami był prawdziwym bólem, więc umieszczenie wszystkich źródeł w Unity było ogromną wygraną pod względem produktywności.
Wreszcie najbardziej odpowiedni dla ciebie projekt gry w C ++, nad którym pracowałem. Silnik gry, sieciowy klient czasu rzeczywistego, sieciowy klient HTTP, sztuczna inteligencja i sklep trwałości zostały napisane dla tej gry, po stronie klienta. Co wybrałem? CLion + Biblioteki. Mimo że korzystałem z bibliotek, nie czułem się tak, jakbym był. Wszystkie źródła były w projekcie CLion IDE, a komponując CMakeLists, byłem w stanie uruchomić wszystkie kompilacje i połączyć je jednym pociągnięciem.
Podsumowując , powiedziałbym, że używanie bibliotek jest rozwiązaniem przyszłościowym, ale także przedwczesną optymalizacją, jeśli nie jest potrzebna. O ile mogłem ustalić z twojej sytuacji, przejście z MSVC na Xcode będzie uciążliwe, jeśli będziesz miał wiele celów kompilacji. Więc po prostu go upuść i zachowaj jak największą izolację, kiedy może zajść potrzeba korzystania z bibliotek.
PS: Mam dzisiaj podobny dylemat z dokerem. Czy powinienem komponować? Czy powinienem po prostu uruchomić lokalnie? .. itp. Również Elixir, ponieważ umożliwia tworzenie aplikacji w ramach tej samej aplikacji .. Czy powinienem to zrobić? Lub oddzielić aplikację do tak zwanych mikrousług? ... itd. Nie ma srebrnej kuli, zawsze mierz siebie, jak YMMV.