たなしょのメモ

日々勉強していることをつらつらと

ローカル環境でACLライブラリをincludeさせたい

ABCの問題を解く際にどうしてもACLライブラリをローカル環境でincludeしてみたかったので試してみました。

下記のgccのオプションで現在のincludeしているディレクトリを見ることができます。

$ gcc -x c++ -v -E /dev/null
(中略)
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/11
 /usr/include/x86_64-linux-gnu/c++/11
 /usr/include/c++/11/backward
 /usr/lib/gcc/x86_64-linux-gnu/11/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
(中略)

この中だと/usr/local/includeの中にatcoderディレクトリを入れてあげればinlcludeできそうです。
(その他のディレクトリは色々なものが入っていて管理が大変そうなのでコピーしないほうが無難です。)

git clone https://github.com/atcoder/ac-library.git
cd ac-library
sudo cp -rp atcoder /usr/local/include/

atcoderディレクトリを/usr/local/include配下に置くことができたので、以降C++書く際に下記のようにincludeできます。

include <atcoder/all>

これでACLライブラリが使えるようになりました。