2015-07-10 6 views
37

O ile rozumiem, Visual Studio 2015 jest dostarczany z clang. Najpierw jednak to było tylko dla aplikacji na Androida i iOS, ale zgodnie z this article powinno również być możliwe użycie frontendu clang ++ dla programów Windows. Jednak nie mogę znaleźć odpowiedniej opcji.Jak skompilować C++ dla Windows z klangiem w Visual Studio 2015

Czy mógłbyś mi wyjaśnić, w jaki sposób mogę zmienić używany kompilator na clang w projekcie C++ (w VS2015 RC Community Edition).

+0

To znaczy, z [aktualizacja] (http://llvm.org/builds/), który zawiera instrukcje dotyczące korzystania szczęk w Visual Studio? – sjdowling

+0

@sjdowling: Mogę się mylić, ale nie sądzę. Z artykułu, który łączyłem (i inne), odniosłem wrażenie, że powinna istnieć wersja clangu dostarczana bezpośrednio z VS. Również autor w artykule wspomniał, że używał klangu jako interfejsu, ale nadal używa VC++ jako generatora kodu zaplecza dla systemu Windows. Wersja, którą połączyłeś, służy do używania LLVM jako zaplecza. Również nie obsługuje jeszcze VS2015. – MikeMB

Odpowiedz

23

Począwszy od VS2015 Aktualizacja 1 można zainstalować szablon "Zamieszaj z Microsoft CodeGen" w oknie Nowy projekt, przejdź do Zainstalowane -> Szablony -> Visual C++ -> Platforma krzyżowa.

Będziesz wtedy mógł wybrać zestaw narzędzi Clang 3.7 z Microsoft CodeGen v140_clang_3_7 na stronie właściwości każdego projektu Windows C++.

Clang posiada zupełnie inny zestaw opcji wiersza poleceń, które rozpoznaje, więc podczas korzystania z v140_clang_3_7 zestaw narzędzi, właściwości projektu muszą być kompatybilne z użyciem Clang opcje, które mogą być uznane za zaczynając - zamiast /. Na przykład właściwość Format informacji debugowania ustawiono na "Pełne informacje debugowania (DWARF2) (-g2 -gdwarf-2)", a właściwość Włącz wyjątki C++ ustawiona na "Tak (-fexceptions)".

Więcej informacji pod numerem this blog post.

screenshot of the new project window

+0

Czy już skończyłeś? – MikeMB

+0

@MikeMB Update 1 RTM wyszedł wczoraj, 30 października 2015 r. Http://go.microsoft.com/fwlink/?LinkId=691129 – Oktalist

+0

Próba zbudowania "Dynamic Library - Clang 3.7 with Microsoft CodeGen" bez żadnych zmian mi błąd LNK1104 (https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k(LNK1104)&rd=true). Ktoś to doświadcza? – Wollan

7

O ile rozumiem zarówno Clang i GCC są dostarczane z systemem Android i iOS SDK crossplatform/narzędzi Visual Studio 2015.

Z tego co widziałem to tylko pozwala mi wybrać te, mając jedną tych projektów krzyżowych.

Korzystanie projekt szablon dla GLES aplikacji C++ można uzyskać następujące opcje:

enter image description here

Choć dla Windows aplikacji C++ masz okno poniżej, gdzie można zobaczyć, że platforma docelowa Windows jest nieaktywna i tylko do odczytu, co oznacza, że ​​prawdopodobnie masz zestaw narzędzi dla każdej platformy docelowej, ale po prostu nie możesz go zmienić, przynajmniej na razie. enter image description here

Nie mam pojęcia, jak przekształcić zwykły projekt VS w platformę krzyżową, i prawdopodobnie można tylko od razu sterować systemem Android lub iOS przy użyciu kompilatorów zewnętrznych.

Może być jednak możliwe zainstalowanie Clanga jako innego zestawu narzędzi w taki sam sposób, jak zestawy narzędzi XP. Być może jest to po prostu kwestia czyjejś gry i udostępnienia, ponieważ jest już zainstalowana.

+1

Dla mnie działa dobrze we wszystkich moich projektów C++. (Aplikacja Win32 dla systemu Win32 i Aplikacja Windows Universal i DirectX 11) Istnieje opcja "Visual Studio 2015 - Clang with Microsoft CodeGen (v140_clang_c2)". Więc przypuszczam, że jest już dostępny. Och, i może być zainstalowany jako opcja z normalnego instalatora VS2015. Żadne inne opcje krzyżowe nie są wymagane. – Farway

3

Po przeczytaniu postu, a zwłaszcza komentarzy, zrozumiałem, że nie jest to funkcja dostarczana z VS2015 RC, ale możliwa nowa funkcja, która może np. być wysłane w SP lub (bardziej prawdopodobne) z następną wersją VS.

Jak wspomniano przez sjdowling, najbliższą rzeczą, którą możesz zrobić w tej chwili (październik 2015, clang 3.7), jest pobranie i zainstalowanie llvm for windows. To powinno dać ci opcję zestawu narzędzi platformy LLVM-vs2014. Dla mnie działa to dla prostych programów testowych, ale najwyraźniej ta wersja "clang-vs" wydaje się nie obsługiwać wyjątków. Jednakże, zgodnie z these notes, problem ten powinien być w większości rozwiązany dla klangu 3.8.

0

Chociaż powyższe rozwiązania pracować wymagają one, że zainstalowano szczęk, który jest domyślnie wyłączony w 2015 instalacji visual studio. Przyjęta odpowiedź pokazuje, jak ją zainstalować, ale na następnej stronie pojawi się prośba o zamknięcie pracowni wizualnej, z której uruchamiasz nowy projekt.

Jeśli ktoś zastanawia się, jak zainstalować szczęk, ponieważ nie pojawiają się na ich listy tutaj jest inne rozwiązanie:

  1. Panel sterowania-> Programy-> Programy i funkcje.
  2. Kliknij prawym przyciskiem myszy na „Microsoft Visual Studio Enterprise 2015” (lub „Microsoft Visual
  3. Studio 15 Preview”, jeśli masz podgląd następnej wersji Visual Studio zainstalowany)
  4. Kliknij „Change”
  5. Kliknij "Modyfikuj"
  6. Wybierz "Clang with Microsoft CodeGen" - wydanie marzec 2016.

https://blogs.msdn.microsoft.com/vcblog/2016/03/31/clang-with-microsoft-codegen-march-2016-released/

Powiązane problemy