Kompilacja pod linux

Odpowiedz Nowy wątek
2011-08-29 20:37
0

Cześć. Mam kod napisany w c++, i Microsoft Visual Studio 2010. I teraz- z kompilowaniem aplikacji win32 console nie ma żadnego problemu, ale czy da się skompilować aplikację pod linux? Wiem, że to mało prawdopodobne bo MVS jest micrsoftu, ale nie sądzę żeby okroili język z kompatybilności pod kilkoma systemami tylko z powodu marki. A więc czy to możliwe? Jeśli nie to jakiego kompilatora+ środowiska używać pod linux(konkretnie ubuntu)?

Pozostało 580 znaków

2011-08-29 20:48
0

Jeżeli nie użyłeś żadnych rzeczy Windows-specific (np. WinAPI) nie powinno być problemu, ale raczej musisz to zrobić na Linuksie. (Chyba, że chcesz się bawić w cross compiling)

Na Ubuntu powinieneś mieć GCC, IDE wybierz z listy: http://en.wikipedia.org/wiki/[...]ment_environments#C.2FC.2B.2B


"(...) otherwise, the behavior is undefined".
edytowany 1x, ostatnio: Endrju, 2011-08-29 20:50

Pozostało 580 znaków

2011-08-29 20:52
0

Standardowy kompilator VC++ buduje wersje binarne tylko dla Windows (na kilku architekturach). Język może nie jest niekompatybilny, ale VC++ nie potrafi skompilować na inną platformę.

Ale ogólnie, aby skompilować coś na inną platformę niż na której się produkuje potrzebujesz "kompilacji skrośnej". Na przykład: http://stackoverflow.com/ques[...]ompiler-from-windows-to-linux. Nie pozwala to jednak na kompilację bezpośrednio z poziomu VS (opieram się na pierwszej odpowiedzi), ale pewnie dałoby się taką uzyskać własnymi skryptami budującymi (makefile, MSBuild, a nawet plik wsadowy).

Pozostało 580 znaków

2011-08-29 21:04
1

jeśli program ma być przenośny, proponuję używać tego samego kompilatora na obu systemach (wybór nie jest duży, sprowadza się głównie do GCC)

Pozostało 580 znaków

2011-08-30 19:00
0

Możesz spróbować przygotować program pod Code::Blocks - http://www.codeblocks.org/
To środowisko dla Windows, ale podobne do tego na Linux, więc jeśli się uda, to potem już będzie o wiele łatwiej na Linux (pobierz razem z minGW).
A dla Linux możesz kompilować używając np. VirtualBox-a. (Tzn zainstalować maszynę wirtualną na Windows, pod nią Linux a w nim już jest gcc - kompilator).
Źródła możesz współdzielić trzymając w jednym katalogu i udostępniając wirtualce albo odwrotnie (udostępniając z wirtualki).

edytowany 1x, ostatnio: vpiotr, 2011-08-30 19:06
Wtf, to juz prosciej postawic crosscompiler. - Endrju 2011-08-30 19:27
wcale nie lepiej - wiesz czy program po cross-kompilacji w ogóle rusza? nie. a na maszynie wirtualnej widzisz od razu. - Azarien 2011-08-30 21:48
Czy ja napisałem coś o "lepiej"? ;-) Jeżeli różnicą jest tylko os i nie używa się żadnych zależnych od niego rzeczy to co miałoby nie działać? Jeżeli używa się bibliotek wieloplatformowych, to ktoś już je sprawdził. - Endrju 2011-08-30 21:58
@Endrju: Sorry, ale trochę Cię ponosi. Po pierwsze jakie znasz cross-kompilatory z Windows na Linuksa (które nie wiążą się ze spędzeniem tygodnia na konfiguracji odpowiednich bibliotek)? Po drugie każda biblioteka wieloplatformowa ma ograniczenia (co do listy systemów, ich wersji i sprzętu), które trzeba brać pod uwagę, po trzecie zaimplementowanie czegoś z przenośną biblioteką nie gwarantuje Ci że wszystko pójdzie zgodnie z planem, znaczenie może mieć np. wersja procesora (nie model, ale wersja) lub ilość RAM. Podsumowując: bez testów nie stwierdzisz czy wszystko jest OK - vpiotr 2011-08-31 10:05

Pozostało 580 znaków

2011-08-31 10:15
0

Jest jeszcze coś takiego jak Remote (Development, Debugging).

http://netbeans.org/kb/docs/cnd/remotedev-tutorial.html

Ciekaw jestem czy komuś ta sztuka się udała...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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