Zdaję sobie sprawę, że to pytanie zostało zadane wcześniej - ale żadna z odpowiedzi odnoszą się do mojego konkretnego przypadku:Visual Studio: DLL zależnych kopiowania kierować folderu
Mam roztwór zawierający macierzystym C++ projekt EXE , który z kolei zależy od 40+ natywnych projektów DLL C++ (w tym samym rozwiązaniu).
Projekt EXE ma zwykle Debug, Release (i profilu) konfigurację, ale od nich sama baza kodu źródłowego jest używany do budowy trzech różnych aplikacji (słownie A1, A2 i A3). Ponadto jest przeznaczony dla x32 i x64, czyli łącznie 3 x 3 x 2 = 18 konfiguracji projektu.
Projekty DLL są wspólne dla wszystkich trzech aplikacji docelowych, więc nie są tylko 3 (Debug, Release, profilu) razy 2 (x32, x64) = 6 konfiguracjach.
Ponieważ projekt EXE zależy od bibliotek DLL, musi on skopiować odpowiednie dane wyjściowe projektów DLL do folderu docelowego (lub jego podfolderu), gdy zostaną zmodyfikowane.
Jak radzić sobie z aktualizacją bibliotek DLL?
akcję post-build w każdym projekcie DLL nie działa (dobrze), jak miałoby to skopiować DLL do odpowiedniego folderu wyjściowego A1, A2 i A3. Każda zmiana w folderze wyjściowym powoduje konieczność modyfikacji działania po wybudowaniu w każdym z 50 projektów DLL.
Obecnie dodałem same biblioteki DLL jako elementy projektu do projektu EXE i skonfigurowałem niestandardowe narzędzie do budowania, aby skopiować je do folderu wyjściowego. Ale to wymaga, żebym dodawał każdą bibliotekę DLL 6 razy, więc kończę z 6 x 50 = 300 DLL!
To, czego naprawdę potrzebuję, to coś w rodzaju opcji Kopiuj lokalnie, która niestety działa tylko złożeń. Czy proponujesz uprościć tę konfigurację kompilacji?
Świetnie! Dlaczego wcześniej o tym nie myślałem? –
Cieszę się, że lubiłem :) zobacz moją edycję problemu, jednak ... – CharlesB
Tak, zauważyłem. Ale to jest łatwe do zarządzania - oznacza to tylko trzy nieznacznie różne działania po instalacji. –