Я пытался в течение 3 дней установить Clang 5.0 на машине с Ubuntu 16.04. Я пробовал различные руководства , но ничего не работает. Когда я пытаюсь просто взять последнюю версию из SVN и собрать / установить (как подробно описано здесь ), попытка скомпилировать простую программу приводит к:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
Затем я попытался установить -DGCC_INSTALL_PREFIX
флаг cmake
перед сборкой, но это приводит к еще лучшей ошибке:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
Шаги, которые я выполнил (из вышеприведенного руководства):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
Может ли кто-нибудь относиться ко мне как к идиоту и объяснять шаг за шагом, как установить clang 5.0? Или указываете мне на руководство, которому могут следовать даже такие дураки, как я? Если вы также можете объяснить, как собрать и установить libc ++ для C ++ 17, я был бы вам очень благодарен.
Обновление : Кажется, я неправильно устанавливаю Clang, так как это вывод многословной компиляции с Clang:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
и это вывод для 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
установили?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Ответы:
Установите clang-5 из репозиториев llvm.org
Во-первых, мы должны добавить репозитории llvm.org в наши списки источников, добавив следующую строку:
Откройте nano и добавьте приведенную выше строку в этот файл:
Добавьте ключ репозитория, он
apt
сможет проверить загруженные пакеты.После этого обновите свои списки:
Затем установите Clang-5:
Он должен работать.
Если вы хотите получить список всех доступных пакетов из этого недавно добавленного репозитория:
Это даст вам список, как:
Затем вы можете установить все, что вы хотите.
Это может помочь вашей проблеме компиляции
Упомянутый заголовочный файл не существует в вашей ошибке:
stdarg.h
является частьюlibstdc++-5-dev
пакета.У меня есть этот пакет на моей машине, так что если я запущу:
Я получу:
Таким образом, кажется, что установка
build-essential
пакета должна решить эту вашу ошибку, потому что я не уверен, что вы сделали.источник
build-essential
установил. Но вывод для myaptitude why libstdc++-5-dev
точно такой же, как у вас, за исключением того, что нет строки, необходимой для сборки.