Ubuntu 16.04マシンに3日間clang 5.0をインストールしようとしています。 さまざまなガイド を試しましたが、何も機能しないようです。 SVNから最新バージョンを取得してビルド/インストールするだけで(詳細は here )、単純なプログラムをコンパイルしようとすると、次のようになります。
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
次に、ビルドする前にcmake
に-DGCC_INSTALL_PREFIX
フラグを設定しようとしましたが、さらに良いエラーにつながります。
> 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 ++ for C++ 17のビルド方法とインストール方法についても説明していただければ、永遠に感謝します。
Update: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
...
まず、llvm.orgリポジトリをソースリストに追加する必要があります。追加する行は次のとおりです。
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main
Nanoを開き、上記の行をこのファイルに追加します。
Sudo nano /etc/apt/sources.list.d/llvm.list
リポジトリキーを追加すると、apt
がダウンロードされたパッケージを検証できるようになります。
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | Sudo apt-key add -
その後、リストを更新します。
Sudo apt-get update
次に、clang-5をインストールします。
Sudo apt-get install clang-5.0 lldb-5.0 lld-5.0
動作するはずです。
この新しく追加されたリポジトリから利用可能なすべてのパッケージのリストを取得する場合:
grep -i package: /var/lib/apt/lists/apt.llvm* | cut -f3 -d: | sort | uniq
次のようなリストが表示されます。
clang-5.0
clang-5.0-doc
clang-5.0-examples
libclang-common-5.0-dev
...
その後、必要なものをインストールできます。
記載されているヘッダーファイルはエラーに存在しません:stdarg.h
はlibstdc++-5-dev
パッケージの一部です。
私のマシンにはこのパッケージがあるので、実行すると:
aptitude why libstdc++-5-dev
私は取得します:
i build-essential Depends g++ (>= 4:5.2)
i A g++ Depends g++-5 (>= 5.3.1-3~)
i A g++-5 Depends libstdc++-5-dev (= 5.4.0-6ubuntu1~16.04.4)
build-essential
パッケージをインストールすることでthisのエラーが解決するようです。あなたがしたこと。