Visual Studio - jeden projekt na linux i windows

0

Cześć
Chciałbym używać Visual Studio do tworzenia programów na dwa systemy operacyjne Linux i Windows. Znalazłem świetny tutorial, który krok po kroku pokazuje co kliknąć co dograć i jak uruchomić, aby dało się zbudować aplikację na linuxa. Problem polega na tym, że tworząc projekt na linuxa nie można lub nie potrafię, w tym samym projekcie skompilować kodu na windowsa. Jedyne rozwiązanie jakie mi zadziałało to utworzenie nowego pustego projektu win32 w solucji w której jest projekt linuxowy. Potem w pustym projekcie dodałem link do istniejącego pliku main.cpp, ustawiłem projekt startowy na ten windowsowy i uruchomiłem program. Wszystko działa fajnie, ale powstał problem. Za każdym razem jak dodaję nowy plik do projektu linux, to muszę go podlinkować do projektu windows lub odwrotnie. Przy większej ilości plików *.c i *.h zaczyna być to dość upierdliwe. Czy macie pomysły na sensowniejsze rozwiązanie tego problemu?

0

Nie znam narzędzia, z którego korzystasz, ale do tworzenia projektów na dwa systemy operacyjne dobrze nadaje się CMake. Ogólną konfigurację projektu tworzysz w pliku tekstowym, a potem generujesz projekt Visual Studio albo makefile unixowy.

0

Nie da się w jednym projekcie, w jednym rozwiązaniu dwa projekty to tak - z wielu powodów. Ale w czym jest problem używania tych samych plików .c i .h - tylko raz dodajesz. Ja robiłem duże projekty na Windows i Linux w ten sposób i działa to bardzo dobrze - co prawda używam VisualGDB.

0

A może byś tak stworzył nową "konfigurację"? PPM na projekt -> properties -> configuration manager -> rozwiń platform -> new
Później ustaw sobie odpowiednie makra w zależności od platformy i odpowiednie #ifdefy w kodzie. Poźniej wystarczy zmienić aktywną platformę na pasku i powinno działać.

0

Jedyne rozwiązanie jakie mi zadziałało to utworzenie nowego pustego projektu win32 w solucji w której jest projekt Linuksowy.

I to jest problem. Projekt win32 jest tylko dla Windowsa, nie użyjesz go na Linux. Z tego co przejrzałem ten tutorial, to tam tworzone są proste apki konsolowe, które działają na każdym systemie, oraz aplikacja korzystająca z OpenGL (który tez jest dostępny na wszystkie platformy).
Po prostu musisz korzystać z bibliotek, które są cross platform i masz je zainstalowane na obu platformach. A to oznacza, że możesz tworzyć projekty konkretnego typu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1