私は Linux と Clang に比較的慣れていないので、Clang 3.4 ツールチェーンで libstdc++ ライブラリの場所を正しく判断するのに苦労しています。Mint 17 を実行しており、Clang-3.4 がインストールされており、GCC 4.8 もインストールされています。詳細フラグを使用すると、出力は次のようになります。
#include "..." search starts here:
#include <...> search starts here:
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++
/usr/local/include
/usr/bin/../lib/clang/3.4/include
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
test.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
検索は、すべての libstdc++ ヘッダーが存在しているように見える場所 (/c++/4.8 内) の 1 つのサブフォルダーを停止します。パッケージ マネージャーを使用して、gcc、clang、llvm、およびすべての依存関係をアンインストールおよび再インストールしました。apt-getを使用してcliを使用して再インストールも試みました。
この質問に対して私が見た回答の大部分は、 /FrontEnd/InitHeaderSearch.cpp ファイルを変更して、libstdc++ のものの正しい場所を探すことを中心に展開していますが、これは私のマシンには存在しません。むしろ、locate -b InitHeaderSearch
結果が見つかりません。
ソースからclangとllvmをビルドする以外に、clangがライブラリを探している場所を変更するにはどうすればよいですか?
ありがとうございました。