Cześć,
chciałem się podpytać Was, jak skutecznie wyczyścić build z Visual Studio? Problem mam taki, że kiedy robię "Rebuild", to potem w debugu on mimo wszystko marudzi mi, że libka, która jest załączona została zrobiona z innych źródeł, niż one są teraz faktycznie :/
Biblioteki załączane statycznie do execa.
Clean'a próbowałes?
To trochę zgadywanka co może być powodem. Możesz mieć na przykład włączone inkrementacyjne linkowanie i linker może nie linkować "na czysto". Usunałbym ręcznie cały folder obj
żeby mieć pewność, że wszystko przebuduje się od zera.
Faktycznie, jest włączone włączone inkrementacyjne linkowanie, ten katalog obj
leży w miejscu budowania, czy w źródłach?
Pomyliłem się, domyślnie binarki będą w folderze x64
jeśli budujesz w tej konfiguracji. Folder ten powinien znajdować się tam, gdzie plik .sln
. Jeśli budujesz x86
to binarki będą bezpośrednio w Release
albo Debug
w folderze z solucją. Możesz też usunąć zawartość .vs
jak już usuwasz śmieci.
No właśnie chciałem sobie przygotować jakiś skrypt, żeby mi to sprzątał, bo dużo upierdliwie długo budujących się lib.-ów :/ ( Czytałem @several Twoje wpisy o optymalizacji budowania, ale nie mam pagonów wystarczających, do takich zmian w robocie :/ ).
Więc do sprzątnięcia:
- .vs katalog ( chociaż nie wiem, bo co zadanie robię nowe git clone, ze względu na bajzel z libami )
- binarki z katalogu
- katalog obj
?
I co z tym linkowaniem? To ma jakieś zalety, czy lepiej sobie wyłączyć, po prostu?
Możesz też użyć git clean -fdx. Usuwa wtedy wszystko to, co nie jest wersjonowane.
I co z tym linkowaniem? To ma jakieś zalety, czy lepiej sobie wyłączyć, po prostu?
Zaletą jest skrócenie czasu linkowania, które często jest wąskim gardłem budowania bo nie może zostać zrównoleglone i inkrementacyjne linkowanie jest jedyną znaną mi optymalizacją tego procesu w VS. W moim projekcie różnica jest kolosalna, linkowanie od zera zajmuje nam 70 - 80 sekund a inkrementacyjne 5 - 15 sekund. Tak więc mamy tą opcję włączoną dla debug, a release zawsze linkujemy od zera, taką też konfigurację polecałbym dla większego projektu. Przez większość czasu taka konfiguracja nie sprawia problemów. Może raz albo dwa razy w tygodniu muszę ręcznie usunąć binarkę (nie cały folder) bo VS nie łapie, że trzeba jednak zlinkować "na czysto".
Jeżeli projekt jest mały to lepiej nie korzystać z tego w ogóle bo zysk będzie znikomy.
Usuwanie .vs za bardzo nie ma sensu. Ale oczywiście nie należy commitować tego katalogu.