Wpis z mikrobloga

#visualstudio #programowanie #cpp Mireczki, jak skonfigurować Visual Studio aby móc skompilować jednocześnie kilka wersji daneo projektu, tzn. jest to plugin który ma działać w równych wersjach aplikacji, każda wersja tej aplikacji ma swoje SDK, wiec kompilacja plugina dla kazdej wersji musi korzystać z innych ścieżek do plików h i lib.. probowalem z tymi ustawieniami w Configuration Manager, ale tam on nie bierze pod uwage zmian w katalogach, dodatkowo jest spoko zmienncych zapisanych w MAKRO kompilatora wiec ręcza zmiana za kazdym razem odpada bo to ze duzo pracy.. da sie ogarnac coś takiego.. musi się dać..
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie mam doświadczenia z VS, ale do tego typu rzeczy używa się CMake. Przeszukaj tag po historii, niedawno tu był jakiś tutek związany z CMake, który jasno przedstawiał jak go wstępnie wykorzystać.
  • Odpowiedz
@JakTamCoTam: powiedzmy mamy programy typu 3ds max 2019 i 3ds max 2020, zeby mój plugin działał na jednym i drugim, to muszę raz skompilować używajac SDK2019 a potem zrobic osobna kompilacje ale z plikami z SDK2020
  • Odpowiedz
Myślę, że CMake jest świetnym narzędziem do rozwiązania tego problemu. Definiujesz target, którym jest Twój plugin i linkujesz go raz do jednej wersji libki, a raz do drugiej, itp.
@Kopytko1 To prawda, bo musisz się nauczyć kolejnej rzeczy od nowa, ale myślę, że w przyszłości ta wiedza Ci się zwróci, bo CMake jest często używany w projektach z C++, jako baza do build systemu.
  • Odpowiedz
@JakTamCoTam: @junglemasta: ehh.. chyba jest cos z-----e w całej solucji czy tam projekcie, bo jak zrobilem nowe na szybko to jest tak jak powinno byc czyli w Configuraitno Manger, nowe kofiguraje wszystko zapisują.. k---a.. zawsze sie cos musi z----c, czemu nigdy nie ma tak, ze rboisz i działa jak ma działać..
  • Odpowiedz
@Kopytko1 co prawda nie jestem długo "w branży" (ok. 3 lata), ale z doświadczenia wiem, że rzadko coś działa za pierwszym razem. Mam wrażenie, że dla stacku C/C++ tym bardziej ciężko o łatwo konfigurowalne toole. Brak tu jednego dobrego menedżera paczek dla różnych libek i ogólnej uniwersalizacji. :(
  • Odpowiedz
@junglemasta: ogolnie jakos tam by rade, no ale jakis bugol sie wdarl i nie zamierzam go szukac, po prostu skopiuje sobie pliki projektowe z rozne miejsca roznymi ustawieniami, czyli na chama to zrobie, nie chce mi sie juz w tym dłubać..
  • Odpowiedz
@Kopytko1: w cmake masz instrukcje warunkowe. Możesz sobie ustawić że jeśli jest opcja LINKLIB=A to linkuj z biblioteką A, a jeśli B to z biblioteką B.
potem tworzysz osobne konfiguracje budowy z opcjami -DLINKLIB=A lub B jako argumentami do generatora makefile po cmake -B...
Inna opcja to robić osobne targety w jednym pliku dla roznych konfiguracji i generować wszystko raz, a potem kompilować tylko target który akurat potrzebujesz.
  • Odpowiedz
@visez: dzięki, ale zdecydowałem ze szybciej będzie skopiowanie i zmiana plików projektowych zawierających informacje o kompilacji, taki troche Brute Force ;P ale trzeba se radzić
  • Odpowiedz