2012-02-08 10 views

Odpowiedz

19

Oba są świetnymi narzędziami. Ważną rzeczą jest to, że niekoniecznie dobrze grają razem. Oznacza to, że gdy łączysz biblioteki ze sobą, wszystkie one muszą używać tego samego łańcucha narzędzi. Z tego powodu, moim zdaniem, lepiej jest użyć kompilatora Visual Studio (MSVC), ponieważ jest to "pierwszorzędny obywatel" w systemie Windows; pozostałe są traktowane jako druga klasa.

Chodzi mi o to, że możesz liczyć na to, że biblioteki stron trzecich będą dostępne w formie binarnej za pomocą MSVC lub przynajmniej instrukcje kompilacji będą dostępne za pomocą MSVC. Mieliśmy wiele problemów z bibliotekami firm trzecich, które nie mogły być zbudowane w MinGW lub nieistniejące instrukcje kompilacji i konieczności ręcznego edytowania plików Makefile itp. Bardziej prawdopodobne jest, że masz rzeczy "działające", jeśli używasz MSVC .

To tylko nasze doświadczenie (zaczęliśmy od MinGW); twój przebieg może się różnić.

+1

Ale dlaczego miałbyś używać wizualnych studiów, jeśli masz już zainstalowany MinGw z Qt SDK? – Anonymous

+3

To wyjaśnia mój drugi akapit. Jeśli koszt VS stanowi problem, możesz użyć darmowego zestawu SDK - jest to tylko potrzebny kompilator, a nie IDE. Nadal możesz używać Qt Creator jako swojego IDE, po prostu powiedz, aby używał łańcucha narzędzi MSVC. –

2

MinGW używa GCC, a GCC ma jedną istotną zaletę dla MSVC - jest przenośny. MSVC jest ograniczony do platform Microsoft, GCC obsługuje prawie wszystko, w tym 8-bitowe procesory wbudowane. Oznacza to, że możesz używać tych samych dyrektyw i kompilować rozszerzenia na różnych platformach.

Ponadto MinGW jest kompaktowy, szybki w instalacji, a wersja jest nawet w pakiecie z Qt. W odróżnieniu od MSVC, które nie jest jeszcze dostępne jako samodzielne, należy zainstalować wizualne studio, które samo instaluje garść śmieci, których nie potrzebujesz, ale nie może z nich zrezygnować.

AKTUALIZACJA Teraz można uzyskać kompilator MS bez VS, a.k.a MS Build Tools. Ponadto, jeśli chcesz zbudować chrom (a.k.a QtWebEngine) dla okien, musisz mieć używać MSVC, to ograniczenie narzucone przez Google, ponieważ wspierają one budowanie tylko z kompilatorem natywnym dla platformy.

Wreszcie, można uzyskać MSYS2, który ma repozytorium z MinGW i masę gotowych do użycia bibliotek statycznych i dynamicznych do jego budowy, dzięki czemu można uniknąć żmudnego i często podatnego na awarie procesu kompilacji.

Powiązane problemy