VCGlib のインストール(ソースコードを使用)(Ubuntu 上)

VCGlib は,三角形メッシュ等の処理機能(メッシュ簡略化,空間データ構造,スムージング,テクスチャ座標系の最適化,ハウスドルフ距離の計算など)をもつ C++ のライブラリである。テンプレートを用いた ヘッダオンリーのライブラリであり,MeshLab の基盤として使われている。行列演算には Eigen を用いる(リポジトリに同梱されている)。

VCGlib の GitHub のページ: https://github.com/cnr-isti-vclab/vcglib

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

C/C++ コンパイラと Make とビルドツールのインストール

ソフトウェアをソースコードからビルドするには、C/C++コンパイラ (通常はGCC) や make ユーティリティといった開発ツールが重要である。Ubuntuでは、これらのツールは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。

sudo apt -y install build-essential libtool texinfo dpkg-dev pkg-config

libtool, texinfo, dpkg-dev, pkg-config は、より複雑なビルドやパッケージ管理の際に役立つ開発関連ツールである。

Git, CMake のインストール(Ubuntu 上)

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git cmake cmake-curses-gui cmake-gui

サンプルプログラムのビルドに必要なパッケージのインストール(Ubuntu 上)

VCGlib のサンプルプログラム(apps, wrap)には,Qt や OpenGL を使うものが含まれる。サンプルもビルドする場合は,端末で,次のコマンドを実行する。

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install qtbase5-dev libqt5opengl5-dev libgl1-mesa-dev libglew-dev libeigen3-dev

VCGlib のインストール(ソースコードを使用)(Ubuntu 上)

次のコマンドを実行する。-DVCG_BUILD_EXAMPLES=ON は,サンプルプログラムをビルドするための指定である(既定値は OFF)。

cd /usr/local
sudo rm -rf vcglib
sudo git clone https://github.com/cnr-isti-vclab/vcglib
sudo chown -R $USER vcglib
cd /usr/local/vcglib
mkdir -p build
cd build
cmake .. -DVCG_BUILD_EXAMPLES=ON
cmake --build . -j$(nproc)

VCGlib はヘッダオンリーのライブラリであるため,自分のプログラムから使うときは,インクルードディレクトリの指定(VCGlib のディレクトリと,同梱の Eigen のディレクトリ eigenlib)を行う。ヘッダファイルをシステムに配置する場合は,次のコマンドを実行する。/usr/local/include の下に配置される。

cd /usr/local/vcglib/build
sudo cmake --install .