インストール: stdman | C++標準ライブラリーのmanページ
有志により開発されたC++標準ライブラリーのmanページであるstdmanをソースコードからインストールする。
C言語のAPIであれば,デフォルトでmanページが存在しており,manコマンドから関数リファレンスなどを閲覧できる。しかし,C++はデフォルトでは存在していない。
Ubuntuなどでは,libstdc++-8-docパッケージなどをインストールすれば一応manコマンドから検索できる。しかし,こちらのパッケージでは,例えばman std::cout
を実行してもページがヒットしなかったり,サンプルコードがなく少々使いにくい。
今回インストールするstdmanは「cppreference.com」のHTMLをmanページに変換したものとなっている。サンプルコードも掲載されており,網羅性もなかなかいい。
そこで,今回はstdmanをインストールした。
項目 | 説明 |
---|---|
配布元 | jeaye/stdman: Formatted C++20 stdlib man pages (cppreference) |
リポジトリー | jeaye/stdman: Formatted C++20 stdlib man pages (cppreference) |
手順 | stdman/README.md at master · jeaye/stdman |
依存情報 | stdman/README.md at master · jeaye/stdman |
依存先 (必須) | Make (GNU Make) |
依存先 (任意) | elinks, gzip |
依存元 |
sh -eux <<-"EOT"
PKG=stdman VER=2018.03.11 TAG=$VER PKG_VER=$PKG${VER:+-$VER}
LOCAL=~/.local J=$(grep -cs '^processor' /proc/cpuinfo || echo 2)
mkdir -p "$LOCAL/src"
cd "$LOCAL/src"
if command -v git >/dev/null; then
[ -e $PKG ] || git clone --depth 1 https://github.com/jeaye/stdman/ $PKG
cd $PKG
git fetch --depth 1 ${TAG:+origin tag $TAG}
git checkout -f ${TAG:-master}
git clean -dfX
else
[ -e $PKG_VER ] || wget URL
tar -xf $PKG_VER.*
cd $PKG_VER
fi
make -kj $J distclean clean || :
[ -e configure ] || [ -e configure.ac ] && autoreconf -is
[ -x configure ] && ./configure --prefix="$LOCAL/stow/$PKG_VER"
make -j $J
# make -j $J check
make -j $J install
cd "$LOCAL/stow"
echo $PKG${VER:+-}[0-9]* | xargs -n 1 stow --ignore=dir -D
stow --defer=dir $PKG_VER
EOT
日付 | バージョン | OS | 依存関係 |
---|---|---|---|
2020-06-27 Thu | 2018.03.11 | Ubuntu 18.04 | GNU Make 4.2.1, GCC 7.4.0 |
テストは同梱されていなかったので,make check
やmake test
は実行しない。
elinksはmake generate
でmanページのビルド時に必要なようだ。インストールするだけなら,なくても大丈夫だった。
make install
を実行すると以下のメッセージが表示される。
Done; it's advised to run 'sudo mandb' (GNU) or 'sudo makewhatis' (BSD) now.
メッセージ通り,manコマンドのDBを更新するために,インストール後に以下のコマンドを実行する。
mandb
これでインストールは完了となる。
試しに,man std::cout
を実行するとstd::cout
のmanが表示される。C++のちょっとした調査に活用するとよいだろう。
リンク