Autor Wątek: Kompilator Linuxowy w Windows  (Przeczytany 5747 razy)

Offline bolverk

  • Użytkownik

# Marzec 25, 2008, 21:54:43
Czy istnieje jakiś kompilator który działając w systemie Windows mógłby generowac pliki wykonywalne dla sytemów Linux?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

bies

  • Gość
# Marzec 25, 2008, 21:58:53
Tak. Np. odpowiednio skompilowany gcc (patrz [1]).

[1] http://gcc.gnu.org/install/build.html

Offline SirMike

  • Użytkownik
    • SirMike's Techblog

# Marzec 25, 2008, 22:26:23
Czy istnieje jakiś kompilator który działając w systemie Windows mógłby generowac pliki wykonywalne dla sytemów Linux?

Bies napisal co moze Ci pomoc.

A na marginesie - dlaczego chcesz tak kombinowac?

Offline bolverk

  • Użytkownik

# Marzec 25, 2008, 22:42:22
Otóż tworze grafikę w OpenGL, a w przyszłości również gry. I chcę je tworzyć na platformy Windows i Linux, ale na ta drugą bez potrzeby instalowania tegoż systemu :)

Offline SirMike

  • Użytkownik
    • SirMike's Techblog

# Marzec 25, 2008, 23:15:51
Otóż tworze grafikę w OpenGL, a w przyszłości również gry. I chcę je tworzyć na platformy Windows i Linux, ale na ta drugą bez potrzeby instalowania tegoż systemu :)

To ja Ci przedstawie jak robie to u siebie.
Caly developing odbywa sie pod Linuksem z pomoca przenosnych narzedzi (glownie mechanizmow buildujacych takich jak CMake czy premake). Jak mam to gotowe to po prostu robie kompilacje pod Windowsem ze skryptow.

Dlaczego wlasnie tak? Wychodzi to o wiele przyjemniej niz w druga strone. Linuks jest bardzo przyjaznym systemem dla developera i wszelkie okoloprogramistyczne czynnosci wykonuje sie duzo szybciej i sprawniej.
W chwili obecnej przewaga Visual Studio dla C++ nad narzedziami OpenSource, ktora miala miejsce jeszcze kilka lat temu, zaczyna zanikac i jak ten trend sie utrzyma to calkowicie zrezygnuje z uzywania tego srodowiska.

Moge sie zalozyc, ze dopoki nie zainstalujesz Linuksa to Twoje programy pod nim chodzic nie beda :P Pewnie nawet nie zdajesz sobie sprawy, ze uzywasz kod obslugiwany tylko przez rozszerzenia Visual C++ - ja przejechalem sie na tym kilka razy :) Niby sa to subtelne drobnostki ale sprawiaja, ze kod pod Linuksem nie zadziala. Wystarczy np. nie przypilnowac nazw plikow i stworzyc Foo.h po czym dac #include foo.h :)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Marzec 30, 2008, 16:08:24
Dlaczego wlasnie tak? Wychodzi to o wiele przyjemniej niz w druga strone. Linuks jest bardzo przyjaznym systemem dla developera i wszelkie okoloprogramistyczne czynnosci wykonuje sie duzo szybciej i sprawniej.
W chwili obecnej przewaga Visual Studio dla C++ nad narzedziami OpenSource, ktora miala miejsce jeszcze kilka lat temu, zaczyna zanikac i jak ten trend sie utrzyma to calkowicie zrezygnuje z uzywania tego srodowiska.
Możesz rozwinąć tą myśl? Bo jeśli przez okołoprogramistyczne czynności rozumiesz pisanie i używanie Makefile, to no comments :) Powiedz jakie to IDE w Linuksie zapewnia Ci wygodny edytor z IntelliSense, zintegrowany wizualny debugger i automatyczne sprawdzanie które pliki się zmieniły i wymagają rekompilacji?

Offline sobol

  • Użytkownik

# Marzec 30, 2008, 16:15:17
Ja osobiście wolę pracować na visual studio, właśnie z tych względów które wymienił Reg, choć nie tylko. Pewnie kwestia przyzwyczajenia, no i na pewno też tego, że linuxa co by nie mówić zbytnio nie znam. Dla mnie linuxy i bsdy są systemami raczej przeznaczonymi na serwery etc.
Natomiast wracając do tematu głównego - tu się zgodzę z SirMikiem, że bez linuxa ciężko będzie Ci robić cross platformowy soft. Jest to oczywiście możliwe, ale po co się męczyć ? :) Piszesz soft na jednym systemie pamiętając o docelowej cross platformowości a potem na docelowej drugiej platformie go rebuildujesz, przynajmniej takie jest moje podejście.

Offline skoti

  • Użytkownik

# Marzec 30, 2008, 16:18:58
Dlaczego wlasnie tak? Wychodzi to o wiele przyjemniej niz w druga strone. Linuks jest bardzo przyjaznym systemem dla developera i wszelkie okoloprogramistyczne czynnosci wykonuje sie duzo szybciej i sprawniej.
W chwili obecnej przewaga Visual Studio dla C++ nad narzedziami OpenSource, ktora miala miejsce jeszcze kilka lat temu, zaczyna zanikac i jak ten trend sie utrzyma to calkowicie zrezygnuje z uzywania tego srodowiska.
Możesz rozwinąć tą myśl? Bo jeśli przez okołoprogramistyczne czynności rozumiesz pisanie i używanie Makefile, to no comments :) Powiedz jakie to IDE w Linuksie zapewnia Ci wygodny edytor z IntelliSense, zintegrowany wizualny debugger i automatyczne sprawdzanie które pliki się zmieniły i wymagają rekompilacji?
Zdaje się, że chodzi Ci o eclipse od ibm - które zresztą jest też na windowsa ;p

Offline skalniak

  • Użytkownik
    • Home page

# Marzec 30, 2008, 18:37:00
mozna zainstalowac CygWin i spod windows na uruchomionym cygwinie kompilowac np gcc czy g++.

Pozdrawiam
skalniak

Offline skoti

  • Użytkownik

# Marzec 30, 2008, 19:16:27
mozna zainstalowac CygWin i spod windows na uruchomionym cygwinie kompilowac np gcc czy g++.

Pozdrawiam
skalniak
Tak tylko z tego co wiem Cygwin kompiluje programy z linuxa na format plików windowsa a nie na odwrót ;p

Offline Wyszo

  • Użytkownik

# Marzec 30, 2008, 19:56:50
Można też zainstalować Vector Linuxa, który jest mały (600MB) instaluje się szybko (<10 minut), wygodny, szybki, stabilny i przyjemny. Walić wielkie i opasłe dystrybucje, które są takie ogromne bo zawierają tysiące MB zbędnego softu :D Vector Linux (tylko nie wersja soho) + eclipse i śmigasz :]

Offline Elwis

  • Użytkownik

# Marzec 30, 2008, 20:21:35
Można też zainstalować Vector Linuxa, który jest mały (600MB) instaluje się szybko (<10 minut), wygodny, szybki, stabilny i przyjemny. Walić wielkie i opasłe dystrybucje, które są takie ogromne bo zawierają tysiące MB zbędnego softu :D Vector Linux (tylko nie wersja soho) + eclipse i śmigasz :]
A jeszcze lepiej PLD, myślę, że podstawowy system + gcc zająłby mniej(ba, pełen system który stawiałem na podstawie PLD zajął 1,5GB ;))

Offline sobol

  • Użytkownik

# Marzec 30, 2008, 20:28:04
Równie dobrze można używać live cd i pracować na partycji ntfs ;)

Offline Kos

  • Użytkownik
    • kos.gd

# Marzec 30, 2008, 22:41:13
Dlaczego wlasnie tak? Wychodzi to o wiele przyjemniej niz w druga strone. Linuks jest bardzo przyjaznym systemem dla developera i wszelkie okoloprogramistyczne czynnosci wykonuje sie duzo szybciej i sprawniej.
W chwili obecnej przewaga Visual Studio dla C++ nad narzedziami OpenSource, ktora miala miejsce jeszcze kilka lat temu, zaczyna zanikac i jak ten trend sie utrzyma to calkowicie zrezygnuje z uzywania tego srodowiska.
Możesz rozwinąć tą myśl? Bo jeśli przez okołoprogramistyczne czynności rozumiesz pisanie i używanie Makefile, to no comments :) Powiedz jakie to IDE w Linuksie zapewnia Ci wygodny edytor z IntelliSense, zintegrowany wizualny debugger i automatyczne sprawdzanie które pliki się zmieniły i wymagają rekompilacji?
Code::Blocks? Naprawdę, IDE jest cały czas rozwijane, ostatnio wyszła śliczna wersja stable 8.02, i muszę przyznać że naprawdę gonią do przodu ;) Przede wszystkim nie jest takie zasobożerne jak VS, dlatego zacząłem używać. Nie wiem czy na dzień dzisiejszy jest lepsze od Visuala, lecz spełnia wszystkie warunki by być nazwanym środowiskiem w pełni funkcjonalnym - wliczając, lecz bynajmniej nie ograniczając się do tego, co wymieniłeś. Szablony projektów do wielu bibliotek, rozbudowany i konfigurowalny pod względem skrótów klawiszowych edytor, mocno konfigurowalny plugin do formatowania kodu (via AStyle)... C::B do dziś mnie zaskakuje, ostatnio na przykład dostarczaną w standardzie bazą podświetlania składni i autouzupełniania dla wielu języków (np. GLSL, łącznie z OpenGLowymi stałymi). Ma też wsparcie dla kilkunastu kompilatorów.

SmartSense z C::B ma parę bugów, aktualnie grono developerów pracuje nad jego przebudową, lecz już teraz imo wystarcza do komfortowej pracy.

Sam nawet rozważam rozpoczęcie prac nad jakimś narzędziem do wizualnego projektowania klas przystosowanym do integracji z C::B - VS ma coś takiego, jestem szczerze ciekawy czy używanie czegoś takiego na dłuższą metę jest wygodne i praktyczne.

Offline vashpan

  • Użytkownik
    • Strona

# Marzec 31, 2008, 00:18:51
Code::Blocks rzadzi przede wsyzstkim jezeli chodzi o pisanie aplikacji wieloplatformowych, ja posiadam dla jednej mojej gry jeden plik projektu *.cbp z roznymi targetami i kompiluje sobie z uzyciem C::B zarowno pod Windowsem jak i Linuksem ten sam projekt. Pod OS X akurat korzystam z IDE Apple'a - Xcode ( podjescie jezeli chodzi o interfejs rozne od tego znanego z Visuala czy Eclipse, ale daje rade. Szczegolnie imponuje mi tam wsparcie dla GDB - nie ma chyba lepszej graficznej nakladki na ten debugger )

W nowej wersji C::B szczegolnie duzy nacisk polozyli na debugger - jest juz np. podgladanie wartosci zmiennych najezdzajac na dana zmienna w kodzie.

Ostatnio tez zaskoczylo mnie Eclipse... ( Uzywam ze wzgledu na plugin Descent - jak narazie najlepsze srodowisko dla jezyka D, z PELNYM uzupelnianiem skladni ( lacznie z dokumentacja i biblioteka standardowa ( takze z dokumentacja ) ) oraz zaznaczaniem bledow skladniowych W LOCIE ( feature znany dotychczas tylko z Javy czy C# ) oraz wsparciem dla debuggera. Gdy zrobia builder to bedzie juz pelnia szczescia dla mnie :) ) mianowicie Eclipse pod Linuksem dziala ZDECYDOWANIE lepiej (szybciej) niz pod Windowsem. Dopiero wtedy zachcialo mi sie uzywac tego IDE :) Nie wiem czy to tylko moje wrazenie czy rzeczywiscie tak jest ( zeby nie bylo - nie korzystam z wersji natywnej skompilowanej przez GCJ )

A co do kompilatora takze radze odwrotnie - pod Linuksem mozna zainstalowac MinGW dzieki ktoremu stworzysz binarki ktore z wieksza doza prawdopodobienstwa uruchomisz pod windowsem niz odwrotnie.