つらねの日記

プログラムの進捗やゲームをプレイした感想などを書き連ねる日記。

atom autocomplete-clangで#include <bits/stdc++.h>する

前置き

atomでautocomplete-clangを使ってc++を書いている.自動補完してくれる優れものだが,#include bits/stdc++.hしようとすると補完が全く効かなくなる.
include pathにbits/stdc++.hまでを通したりしても全然だめだった.
それを解消できたのでそのメモ

環境

OS X El Capitan 10.11
atom 1.2.4
autocomplete-clang 0.8.8
clang-700.1.76

結論

cstdalignにパスが通ってなかった.

$ find /usr/ | grep cstdalign

とかしてでてきたcstdalignのディレクトリをautocomplete-clangのincludepathに渡す.
f:id:turane_gaku:20151201003459p:plain
一応atom 再起動

解決手順

linter-clangを入れた.

調べてたら,こんなのがあった.
Atom plugins for C++ development | Jean-Marc Le Roux
元々探してたものとは違ったが,linter-rubyとか神だったので入れることにした.

$ apm install linter-clang

linter-clangを触ってた.

いつも使ってるtemplateをloadしたらissueがでてた.
clickしたらstdc++.hのcstdalignの行に飛ばされた.

#include <cstdalign>

#include <cstdalign>

に直したらNo issuesになった.補完も効く.
ターミナルでおもむろに

$ find /usr/ G stdalign
/usr//local/Cellar/gcc49/4.9.3/include/c++/4.9.3/cstdalign
/usr//local/Cellar/gcc49/4.9.3/lib/gcc/4.9/gcc/x86_64-apple-darwin15.0.0/4.9.3/include/stdalign.h
$ find /usr/ G cassert
/usr//include/c++/4.2.1/cassert
/usr//local/Cellar/gcc49/4.9.3/include/c++/4.9.3/cassert

autocomplete-clangとlinter-clangにパスを通す.
動いた.