Od 3 dni próbuję zainstalować clang 5.0 na maszynie Ubuntu 16.04. Próbowałem różnych przewodników , ale wydaje się, że nic nie działa. Kiedy próbuję po prostu pobrać najnowszą wersję SVN i zbudować / zainstalować (jak wyszczególniono tutaj ), próba skompilowania prostego programu prowadzi do:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
Następnie próbowałem ustawić -DGCC_INSTALL_PREFIX
flagę cmake
przed budowaniem, ale to prowadzi do jeszcze lepszego błędu:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
Kroki, które wykonałem to (z powyższego przewodnika):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
Czy ktoś mógłby traktować mnie jak idiotę i wyjaśnić krok po kroku, jak zainstalować clang 5.0? Czy może wskazać mi przewodnik, do którego mogą podążać nawet tacy głupcy jak ja? Jeśli potrafisz także wyjaśnić, jak zbudować i zainstalować libc ++ dla C ++ 17, byłbym na zawsze wdzięczny.
Aktualizacja : Wygląda na to, że nie instaluję poprawnie clang, ponieważ jest to wynik pełnej kompilacji z clang:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
i to jest wynik dla g ++:
#include <...> search starts here:
/usr/include/c++/5
/usr/include/x86_64-linux-gnu/c++/5
/usr/include/c++/5/backward
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
...
dpkg -l libstdc++-5-dev | tail -1
build-essential
zainstalowany?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Odpowiedzi:
Zainstaluj clang-5 z repozytoriów llvm.org
Najpierw powinniśmy dodać repozytoria llvm.org do naszych list źródeł, wiersz, który powinniśmy dodać to:
Otwórz nano i dodaj powyższą linię do tego pliku:
Dodaj klucz repozytorium,
apt
umożliwi weryfikację pobranych pakietów.Następnie zaktualizuj swoje listy:
Następnie zainstaluj clang-5:
To powinno działać.
Jeśli chcesz uzyskać listę wszystkich dostępnych pakietów z tego nowo dodanego repozytorium:
Otrzymasz listę taką jak:
Następnie możesz zainstalować cokolwiek z nich chcesz.
Może to pomóc w problemach z kompilacją
Wspomniany plik nagłówkowy nie istnieje w twoim błędzie:
stdarg.h
jest częściąlibstdc++-5-dev
pakietu.Mam ten pakiet na moim komputerze, więc jeśli uruchomię:
Wezmę:
Tak więc wydaje się, że zainstalowanie
build-essential
pakietu powinno rozwiązać ten błąd twoje, bo nie jestem pewien, co zrobiłeś.źródło
build-essential
zainstalowany. Ale wynik dla mojegoaptitude why libstdc++-5-dev
jest dokładnie taki sam jak twój, z wyjątkiem tym nie ma linii niezbędnej do kompilacji.